CPD Results

The following document contains the results of PMD's CPD 4.2.5.

Duplications

FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java1713
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointStatic.java277
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				NavPointStatic obj = (NavPointStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getItem()
 	, obj.getItem()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Item on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getItemClass()
 	, obj.getItemClass()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property ItemClass on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getMover()
 	, obj.getMover()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Mover on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getLiftOffset()
 	, obj.getLiftOffset()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property LiftOffset on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isLiftJumpExit()
 	
 	 			== obj.isLiftJumpExit()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property LiftJumpExit on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isNoDoubleJump()
 	
 	 			== obj.isNoDoubleJump()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property NoDoubleJump on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isInvSpot()
 	
 	 			== obj.isInvSpot()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property InvSpot on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isPlayerStart()
 	
 	 			== obj.isPlayerStart()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property PlayerStart on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.getTeamNumber()
 	
 	 			== obj.getTeamNumber()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property TeamNumber on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isDomPoint()
 	
 	 			== obj.isDomPoint()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property DomPoint on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isDoor()
 	
 	 			== obj.isDoor()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Door on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isLiftCenter()
 	
 	 			== obj.isLiftCenter()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property LiftCenter on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isLiftExit()
 	
 	 			== obj.isLiftExit()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property LiftExit on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isAIMarker()
 	
 	 			== obj.isAIMarker()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property AIMarker on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isJumpSpot()
 	
 	 			== obj.isJumpSpot()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property JumpSpot on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isJumpPad()
 	
 	 			== obj.isJumpPad()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property JumpPad on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isJumpDest()
 	
 	 			== obj.isJumpDest()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property JumpDest on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isTeleporter()
 	
 	 			== obj.isTeleporter()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Teleporter on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getRotation()
 	, obj.getRotation()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Rotation on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isRoamingSpot()
 	
 	 			== obj.isRoamingSpot()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property RoamingSpot on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isSnipingSpot()
 	
 	 			== obj.isSnipingSpot()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property SnipingSpot on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getItemInstance()
 	, obj.getItemInstance()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property ItemInstance on object class NavPointStatic");
							return true;
						}
 					
 						//Skipping outgoing and incoming edges tests because the navGraph is sent only once
 					
 						//Skipping outgoing and incoming edges tests because the navGraph is sent only once
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getPreferedWeapon()
 	, obj.getPreferedWeapon()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property PreferedWeapon on object class NavPointStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Item = " + String.valueOf(getItem()
 	) + " | " + 
		              		
		              			"ItemClass = " + String.valueOf(getItemClass()
 	) + " | " + 
		              		
		              			"Mover = " + String.valueOf(getMover()
 	) + " | " + 
		              		
		              			"LiftOffset = " + String.valueOf(getLiftOffset()
 	) + " | " + 
		              		
		              			"LiftJumpExit = " + String.valueOf(isLiftJumpExit()
 	) + " | " + 
		              		
		              			"NoDoubleJump = " + String.valueOf(isNoDoubleJump()
 	) + " | " + 
		              		
		              			"InvSpot = " + String.valueOf(isInvSpot()
 	) + " | " + 
		              		
		              			"PlayerStart = " + String.valueOf(isPlayerStart()
 	) + " | " + 
		              		
		              			"TeamNumber = " + String.valueOf(getTeamNumber()
 	) + " | " + 
		              		
		              			"DomPoint = " + String.valueOf(isDomPoint()
 	) + " | " + 
		              		
		              			"Door = " + String.valueOf(isDoor()
 	) + " | " + 
		              		
		              			"LiftCenter = " + String.valueOf(isLiftCenter()
 	) + " | " + 
		              		
		              			"LiftExit = " + String.valueOf(isLiftExit()
 	) + " | " + 
		              		
		              			"AIMarker = " + String.valueOf(isAIMarker()
 	) + " | " + 
		              		
		              			"JumpSpot = " + String.valueOf(isJumpSpot()
 	) + " | " + 
		              		
		              			"JumpPad = " + String.valueOf(isJumpPad()
 	) + " | " + 
		              		
		              			"JumpDest = " + String.valueOf(isJumpDest()
 	) + " | " + 
		              		
		              			"Teleporter = " + String.valueOf(isTeleporter()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"RoamingSpot = " + String.valueOf(isRoamingSpot()
 	) + " | " + 
		              		
		              			"SnipingSpot = " + String.valueOf(isSnipingSpot()
 	) + " | " + 
		              		
		              			"PreferedWeapon = " + String.valueOf(getPreferedWeapon()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Item</b> = " + String.valueOf(getItem()
 	) + " <br/> " + 
		              		
		              			"<b>ItemClass</b> = " + String.valueOf(getItemClass()
 	) + " <br/> " + 
		              		
		              			"<b>Mover</b> = " + String.valueOf(getMover()
 	) + " <br/> " + 
		              		
		              			"<b>LiftOffset</b> = " + String.valueOf(getLiftOffset()
 	) + " <br/> " + 
		              		
		              			"<b>LiftJumpExit</b> = " + String.valueOf(isLiftJumpExit()
 	) + " <br/> " + 
		              		
		              			"<b>NoDoubleJump</b> = " + String.valueOf(isNoDoubleJump()
 	) + " <br/> " + 
		              		
		              			"<b>InvSpot</b> = " + String.valueOf(isInvSpot()
 	) + " <br/> " + 
		              		
		              			"<b>PlayerStart</b> = " + String.valueOf(isPlayerStart()
 	) + " <br/> " + 
		              		
		              			"<b>TeamNumber</b> = " + String.valueOf(getTeamNumber()
 	) + " <br/> " + 
		              		
		              			"<b>DomPoint</b> = " + String.valueOf(isDomPoint()
 	) + " <br/> " + 
		              		
		              			"<b>Door</b> = " + String.valueOf(isDoor()
 	) + " <br/> " + 
		              		
		              			"<b>LiftCenter</b> = " + String.valueOf(isLiftCenter()
 	) + " <br/> " + 
		              		
		              			"<b>LiftExit</b> = " + String.valueOf(isLiftExit()
 	) + " <br/> " + 
		              		
		              			"<b>AIMarker</b> = " + String.valueOf(isAIMarker()
 	) + " <br/> " + 
		              		
		              			"<b>JumpSpot</b> = " + String.valueOf(isJumpSpot()
 	) + " <br/> " + 
		              		
		              			"<b>JumpPad</b> = " + String.valueOf(isJumpPad()
 	) + " <br/> " + 
		              		
		              			"<b>JumpDest</b> = " + String.valueOf(isJumpDest()
 	) + " <br/> " + 
		              		
		              			"<b>Teleporter</b> = " + String.valueOf(isTeleporter()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>RoamingSpot</b> = " + String.valueOf(isRoamingSpot()
 	) + " <br/> " + 
		              		
		              			"<b>SnipingSpot</b> = " + String.valueOf(isSnipingSpot()
 	) + " <br/> " + 
		              		
		              			"<b>PreferedWeapon</b> = " + String.valueOf(getPreferedWeapon()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java1710
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointStaticImpl.java1113
		}
	
    
 		
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				NavPointStatic obj = (NavPointStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getItem()
 	, obj.getItem()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Item on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getItemClass()
 	, obj.getItemClass()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property ItemClass on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getMover()
 	, obj.getMover()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Mover on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getLiftOffset()
 	, obj.getLiftOffset()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property LiftOffset on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isLiftJumpExit()
 	
 	 			== obj.isLiftJumpExit()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property LiftJumpExit on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isNoDoubleJump()
 	
 	 			== obj.isNoDoubleJump()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property NoDoubleJump on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isInvSpot()
 	
 	 			== obj.isInvSpot()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property InvSpot on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isPlayerStart()
 	
 	 			== obj.isPlayerStart()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property PlayerStart on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.getTeamNumber()
 	
 	 			== obj.getTeamNumber()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property TeamNumber on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isDomPoint()
 	
 	 			== obj.isDomPoint()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property DomPoint on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isDoor()
 	
 	 			== obj.isDoor()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Door on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isLiftCenter()
 	
 	 			== obj.isLiftCenter()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property LiftCenter on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isLiftExit()
 	
 	 			== obj.isLiftExit()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property LiftExit on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isAIMarker()
 	
 	 			== obj.isAIMarker()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property AIMarker on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isJumpSpot()
 	
 	 			== obj.isJumpSpot()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property JumpSpot on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isJumpPad()
 	
 	 			== obj.isJumpPad()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property JumpPad on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isJumpDest()
 	
 	 			== obj.isJumpDest()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property JumpDest on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isTeleporter()
 	
 	 			== obj.isTeleporter()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Teleporter on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getRotation()
 	, obj.getRotation()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Rotation on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isRoamingSpot()
 	
 	 			== obj.isRoamingSpot()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property RoamingSpot on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isSnipingSpot()
 	
 	 			== obj.isSnipingSpot()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property SnipingSpot on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getItemInstance()
 	, obj.getItemInstance()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property ItemInstance on object class NavPointStatic");
							return true;
						}
 					
 						//Skipping outgoing and incoming edges tests because the navGraph is sent only once
 					
 						//Skipping outgoing and incoming edges tests because the navGraph is sent only once
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getPreferedWeapon()
 	, obj.getPreferedWeapon()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property PreferedWeapon on object class NavPointStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Item = " + String.valueOf(getItem()
 	) + " | " + 
		              		
		              			"ItemClass = " + String.valueOf(getItemClass()
 	) + " | " + 
		              		
		              			"Mover = " + String.valueOf(getMover()
 	) + " | " + 
		              		
		              			"LiftOffset = " + String.valueOf(getLiftOffset()
 	) + " | " + 
		              		
		              			"LiftJumpExit = " + String.valueOf(isLiftJumpExit()
 	) + " | " + 
		              		
		              			"NoDoubleJump = " + String.valueOf(isNoDoubleJump()
 	) + " | " + 
		              		
		              			"InvSpot = " + String.valueOf(isInvSpot()
 	) + " | " + 
		              		
		              			"PlayerStart = " + String.valueOf(isPlayerStart()
 	) + " | " + 
		              		
		              			"TeamNumber = " + String.valueOf(getTeamNumber()
 	) + " | " + 
		              		
		              			"DomPoint = " + String.valueOf(isDomPoint()
 	) + " | " + 
		              		
		              			"Door = " + String.valueOf(isDoor()
 	) + " | " + 
		              		
		              			"LiftCenter = " + String.valueOf(isLiftCenter()
 	) + " | " + 
		              		
		              			"LiftExit = " + String.valueOf(isLiftExit()
 	) + " | " + 
		              		
		              			"AIMarker = " + String.valueOf(isAIMarker()
 	) + " | " + 
		              		
		              			"JumpSpot = " + String.valueOf(isJumpSpot()
 	) + " | " + 
		              		
		              			"JumpPad = " + String.valueOf(isJumpPad()
 	) + " | " + 
		              		
		              			"JumpDest = " + String.valueOf(isJumpDest()
 	) + " | " + 
		              		
		              			"Teleporter = " + String.valueOf(isTeleporter()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"RoamingSpot = " + String.valueOf(isRoamingSpot()
 	) + " | " + 
		              		
		              			"SnipingSpot = " + String.valueOf(isSnipingSpot()
 	) + " | " + 
		              		
		              			"PreferedWeapon = " + String.valueOf(getPreferedWeapon()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Item</b> = " + String.valueOf(getItem()
 	) + " <br/> " + 
		              		
		              			"<b>ItemClass</b> = " + String.valueOf(getItemClass()
 	) + " <br/> " + 
		              		
		              			"<b>Mover</b> = " + String.valueOf(getMover()
 	) + " <br/> " + 
		              		
		              			"<b>LiftOffset</b> = " + String.valueOf(getLiftOffset()
 	) + " <br/> " + 
		              		
		              			"<b>LiftJumpExit</b> = " + String.valueOf(isLiftJumpExit()
 	) + " <br/> " + 
		              		
		              			"<b>NoDoubleJump</b> = " + String.valueOf(isNoDoubleJump()
 	) + " <br/> " + 
		              		
		              			"<b>InvSpot</b> = " + String.valueOf(isInvSpot()
 	) + " <br/> " + 
		              		
		              			"<b>PlayerStart</b> = " + String.valueOf(isPlayerStart()
 	) + " <br/> " + 
		              		
		              			"<b>TeamNumber</b> = " + String.valueOf(getTeamNumber()
 	) + " <br/> " + 
		              		
		              			"<b>DomPoint</b> = " + String.valueOf(isDomPoint()
 	) + " <br/> " + 
		              		
		              			"<b>Door</b> = " + String.valueOf(isDoor()
 	) + " <br/> " + 
		              		
		              			"<b>LiftCenter</b> = " + String.valueOf(isLiftCenter()
 	) + " <br/> " + 
		              		
		              			"<b>LiftExit</b> = " + String.valueOf(isLiftExit()
 	) + " <br/> " + 
		              		
		              			"<b>AIMarker</b> = " + String.valueOf(isAIMarker()
 	) + " <br/> " + 
		              		
		              			"<b>JumpSpot</b> = " + String.valueOf(isJumpSpot()
 	) + " <br/> " + 
		              		
		              			"<b>JumpPad</b> = " + String.valueOf(isJumpPad()
 	) + " <br/> " + 
		              		
		              			"<b>JumpDest</b> = " + String.valueOf(isJumpDest()
 	) + " <br/> " + 
		              		
		              			"<b>Teleporter</b> = " + String.valueOf(isTeleporter()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>RoamingSpot</b> = " + String.valueOf(isRoamingSpot()
 	) + " <br/> " + 
		              		
		              			"<b>SnipingSpot</b> = " + String.valueOf(isSnipingSpot()
 	) + " <br/> " + 
		              		
		              			"<b>PreferedWeapon</b> = " + String.valueOf(getPreferedWeapon()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointStatic.java277
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointStaticImpl.java1117
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				NavPointStatic obj = (NavPointStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getItem()
 	, obj.getItem()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Item on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getItemClass()
 	, obj.getItemClass()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property ItemClass on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getMover()
 	, obj.getMover()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Mover on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getLiftOffset()
 	, obj.getLiftOffset()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property LiftOffset on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isLiftJumpExit()
 	
 	 			== obj.isLiftJumpExit()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property LiftJumpExit on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isNoDoubleJump()
 	
 	 			== obj.isNoDoubleJump()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property NoDoubleJump on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isInvSpot()
 	
 	 			== obj.isInvSpot()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property InvSpot on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isPlayerStart()
 	
 	 			== obj.isPlayerStart()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property PlayerStart on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.getTeamNumber()
 	
 	 			== obj.getTeamNumber()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property TeamNumber on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isDomPoint()
 	
 	 			== obj.isDomPoint()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property DomPoint on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isDoor()
 	
 	 			== obj.isDoor()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Door on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isLiftCenter()
 	
 	 			== obj.isLiftCenter()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property LiftCenter on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isLiftExit()
 	
 	 			== obj.isLiftExit()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property LiftExit on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isAIMarker()
 	
 	 			== obj.isAIMarker()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property AIMarker on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isJumpSpot()
 	
 	 			== obj.isJumpSpot()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property JumpSpot on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isJumpPad()
 	
 	 			== obj.isJumpPad()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property JumpPad on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isJumpDest()
 	
 	 			== obj.isJumpDest()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property JumpDest on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isTeleporter()
 	
 	 			== obj.isTeleporter()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Teleporter on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getRotation()
 	, obj.getRotation()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Rotation on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isRoamingSpot()
 	
 	 			== obj.isRoamingSpot()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property RoamingSpot on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(this.isSnipingSpot()
 	
 	 			== obj.isSnipingSpot()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property SnipingSpot on object class NavPointStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getItemInstance()
 	, obj.getItemInstance()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property ItemInstance on object class NavPointStatic");
							return true;
						}
 					
 						//Skipping outgoing and incoming edges tests because the navGraph is sent only once
 					
 						//Skipping outgoing and incoming edges tests because the navGraph is sent only once
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getPreferedWeapon()
 	, obj.getPreferedWeapon()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property PreferedWeapon on object class NavPointStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Item = " + String.valueOf(getItem()
 	) + " | " + 
		              		
		              			"ItemClass = " + String.valueOf(getItemClass()
 	) + " | " + 
		              		
		              			"Mover = " + String.valueOf(getMover()
 	) + " | " + 
		              		
		              			"LiftOffset = " + String.valueOf(getLiftOffset()
 	) + " | " + 
		              		
		              			"LiftJumpExit = " + String.valueOf(isLiftJumpExit()
 	) + " | " + 
		              		
		              			"NoDoubleJump = " + String.valueOf(isNoDoubleJump()
 	) + " | " + 
		              		
		              			"InvSpot = " + String.valueOf(isInvSpot()
 	) + " | " + 
		              		
		              			"PlayerStart = " + String.valueOf(isPlayerStart()
 	) + " | " + 
		              		
		              			"TeamNumber = " + String.valueOf(getTeamNumber()
 	) + " | " + 
		              		
		              			"DomPoint = " + String.valueOf(isDomPoint()
 	) + " | " + 
		              		
		              			"Door = " + String.valueOf(isDoor()
 	) + " | " + 
		              		
		              			"LiftCenter = " + String.valueOf(isLiftCenter()
 	) + " | " + 
		              		
		              			"LiftExit = " + String.valueOf(isLiftExit()
 	) + " | " + 
		              		
		              			"AIMarker = " + String.valueOf(isAIMarker()
 	) + " | " + 
		              		
		              			"JumpSpot = " + String.valueOf(isJumpSpot()
 	) + " | " + 
		              		
		              			"JumpPad = " + String.valueOf(isJumpPad()
 	) + " | " + 
		              		
		              			"JumpDest = " + String.valueOf(isJumpDest()
 	) + " | " + 
		              		
		              			"Teleporter = " + String.valueOf(isTeleporter()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"RoamingSpot = " + String.valueOf(isRoamingSpot()
 	) + " | " + 
		              		
		              			"SnipingSpot = " + String.valueOf(isSnipingSpot()
 	) + " | " + 
		              		
		              			"PreferedWeapon = " + String.valueOf(getPreferedWeapon()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Item</b> = " + String.valueOf(getItem()
 	) + " <br/> " + 
		              		
		              			"<b>ItemClass</b> = " + String.valueOf(getItemClass()
 	) + " <br/> " + 
		              		
		              			"<b>Mover</b> = " + String.valueOf(getMover()
 	) + " <br/> " + 
		              		
		              			"<b>LiftOffset</b> = " + String.valueOf(getLiftOffset()
 	) + " <br/> " + 
		              		
		              			"<b>LiftJumpExit</b> = " + String.valueOf(isLiftJumpExit()
 	) + " <br/> " + 
		              		
		              			"<b>NoDoubleJump</b> = " + String.valueOf(isNoDoubleJump()
 	) + " <br/> " + 
		              		
		              			"<b>InvSpot</b> = " + String.valueOf(isInvSpot()
 	) + " <br/> " + 
		              		
		              			"<b>PlayerStart</b> = " + String.valueOf(isPlayerStart()
 	) + " <br/> " + 
		              		
		              			"<b>TeamNumber</b> = " + String.valueOf(getTeamNumber()
 	) + " <br/> " + 
		              		
		              			"<b>DomPoint</b> = " + String.valueOf(isDomPoint()
 	) + " <br/> " + 
		              		
		              			"<b>Door</b> = " + String.valueOf(isDoor()
 	) + " <br/> " + 
		              		
		              			"<b>LiftCenter</b> = " + String.valueOf(isLiftCenter()
 	) + " <br/> " + 
		              		
		              			"<b>LiftExit</b> = " + String.valueOf(isLiftExit()
 	) + " <br/> " + 
		              		
		              			"<b>AIMarker</b> = " + String.valueOf(isAIMarker()
 	) + " <br/> " + 
		              		
		              			"<b>JumpSpot</b> = " + String.valueOf(isJumpSpot()
 	) + " <br/> " + 
		              		
		              			"<b>JumpPad</b> = " + String.valueOf(isJumpPad()
 	) + " <br/> " + 
		              		
		              			"<b>JumpDest</b> = " + String.valueOf(isJumpDest()
 	) + " <br/> " + 
		              		
		              			"<b>Teleporter</b> = " + String.valueOf(isTeleporter()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>RoamingSpot</b> = " + String.valueOf(isRoamingSpot()
 	) + " <br/> " + 
		              		
		              			"<b>SnipingSpot</b> = " + String.valueOf(isSnipingSpot()
 	) + " <br/> " + 
		              		
		              			"<b>PreferedWeapon</b> = " + String.valueOf(getPreferedWeapon()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/GameInfoMessage.java1152
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/GameInfoStaticImpl.java522
		}
	
    
 		
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				GameInfoStatic obj = (GameInfoStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getGametype()
 	, obj.getGametype()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Gametype on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getLevel()
 	, obj.getLevel()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Level on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(this.getMaxTeams()
 	
 	 			== obj.getMaxTeams()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property MaxTeams on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getRedBaseLocation()
 	, obj.getRedBaseLocation()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property RedBaseLocation on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getBlueBaseLocation()
 	, obj.getBlueBaseLocation()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property BlueBaseLocation on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getFirstDomPointLocation()
 	, obj.getFirstDomPointLocation()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property FirstDomPointLocation on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getSecondDomPointLocation()
 	, obj.getSecondDomPointLocation()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property SecondDomPointLocation on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getFactoryLocation()
 	, obj.getFactoryLocation()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property FactoryLocation on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(this.getFactoryRadius()
 	
 	 			== obj.getFactoryRadius()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property FactoryRadius on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getDisperserLocation()
 	, obj.getDisperserLocation()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property DisperserLocation on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(this.getDisperserRadius()
 	
 	 			== obj.getDisperserRadius()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property DisperserRadius on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(this.getFactoryAdrenalineCount()
 	
 	 			== obj.getFactoryAdrenalineCount()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property FactoryAdrenalineCount on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getFactorySpawnType()
 	, obj.getFactorySpawnType()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property FactorySpawnType on object class GameInfoStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Gametype = " + String.valueOf(getGametype()
 	) + " | " + 
		              		
		              			"Level = " + String.valueOf(getLevel()
 	) + " | " + 
		              		
		              			"MaxTeams = " + String.valueOf(getMaxTeams()
 	) + " | " + 
		              		
		              			"RedBaseLocation = " + String.valueOf(getRedBaseLocation()
 	) + " | " + 
		              		
		              			"BlueBaseLocation = " + String.valueOf(getBlueBaseLocation()
 	) + " | " + 
		              		
		              			"FirstDomPointLocation = " + String.valueOf(getFirstDomPointLocation()
 	) + " | " + 
		              		
		              			"SecondDomPointLocation = " + String.valueOf(getSecondDomPointLocation()
 	) + " | " + 
		              		
		              			"FactoryLocation = " + String.valueOf(getFactoryLocation()
 	) + " | " + 
		              		
		              			"FactoryRadius = " + String.valueOf(getFactoryRadius()
 	) + " | " + 
		              		
		              			"DisperserLocation = " + String.valueOf(getDisperserLocation()
 	) + " | " + 
		              		
		              			"DisperserRadius = " + String.valueOf(getDisperserRadius()
 	) + " | " + 
		              		
		              			"FactoryAdrenalineCount = " + String.valueOf(getFactoryAdrenalineCount()
 	) + " | " + 
		              		
		              			"FactorySpawnType = " + String.valueOf(getFactorySpawnType()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Gametype</b> = " + String.valueOf(getGametype()
 	) + " <br/> " + 
		              		
		              			"<b>Level</b> = " + String.valueOf(getLevel()
 	) + " <br/> " + 
		              		
		              			"<b>MaxTeams</b> = " + String.valueOf(getMaxTeams()
 	) + " <br/> " + 
		              		
		              			"<b>RedBaseLocation</b> = " + String.valueOf(getRedBaseLocation()
 	) + " <br/> " + 
		              		
		              			"<b>BlueBaseLocation</b> = " + String.valueOf(getBlueBaseLocation()
 	) + " <br/> " + 
		              		
		              			"<b>FirstDomPointLocation</b> = " + String.valueOf(getFirstDomPointLocation()
 	) + " <br/> " + 
		              		
		              			"<b>SecondDomPointLocation</b> = " + String.valueOf(getSecondDomPointLocation()
 	) + " <br/> " + 
		              		
		              			"<b>FactoryLocation</b> = " + String.valueOf(getFactoryLocation()
 	) + " <br/> " + 
		              		
		              			"<b>FactoryRadius</b> = " + String.valueOf(getFactoryRadius()
 	) + " <br/> " + 
		              		
		              			"<b>DisperserLocation</b> = " + String.valueOf(getDisperserLocation()
 	) + " <br/> " + 
		              		
		              			"<b>DisperserRadius</b> = " + String.valueOf(getDisperserRadius()
 	) + " <br/> " + 
		              		
		              			"<b>FactoryAdrenalineCount</b> = " + String.valueOf(getFactoryAdrenalineCount()
 	) + " <br/> " + 
		              		
		              			"<b>FactorySpawnType</b> = " + String.valueOf(getFactorySpawnType()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/GameInfoMessage.java1155
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/GameInfoStatic.java190
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				GameInfoStatic obj = (GameInfoStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getGametype()
 	, obj.getGametype()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Gametype on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getLevel()
 	, obj.getLevel()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Level on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(this.getMaxTeams()
 	
 	 			== obj.getMaxTeams()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property MaxTeams on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getRedBaseLocation()
 	, obj.getRedBaseLocation()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property RedBaseLocation on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getBlueBaseLocation()
 	, obj.getBlueBaseLocation()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property BlueBaseLocation on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getFirstDomPointLocation()
 	, obj.getFirstDomPointLocation()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property FirstDomPointLocation on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getSecondDomPointLocation()
 	, obj.getSecondDomPointLocation()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property SecondDomPointLocation on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getFactoryLocation()
 	, obj.getFactoryLocation()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property FactoryLocation on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(this.getFactoryRadius()
 	
 	 			== obj.getFactoryRadius()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property FactoryRadius on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getDisperserLocation()
 	, obj.getDisperserLocation()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property DisperserLocation on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(this.getDisperserRadius()
 	
 	 			== obj.getDisperserRadius()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property DisperserRadius on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(this.getFactoryAdrenalineCount()
 	
 	 			== obj.getFactoryAdrenalineCount()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property FactoryAdrenalineCount on object class GameInfoStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getFactorySpawnType()
 	, obj.getFactorySpawnType()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property FactorySpawnType on object class GameInfoStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Gametype = " + String.valueOf(getGametype()
 	) + " | " + 
		              		
		              			"Level = " + String.valueOf(getLevel()
 	) + " | " + 
		              		
		              			"MaxTeams = " + String.valueOf(getMaxTeams()
 	) + " | " + 
		              		
		              			"RedBaseLocation = " + String.valueOf(getRedBaseLocation()
 	) + " | " + 
		              		
		              			"BlueBaseLocation = " + String.valueOf(getBlueBaseLocation()
 	) + " | " + 
		              		
		              			"FirstDomPointLocation = " + String.valueOf(getFirstDomPointLocation()
 	) + " | " + 
		              		
		              			"SecondDomPointLocation = " + String.valueOf(getSecondDomPointLocation()
 	) + " | " + 
		              		
		              			"FactoryLocation = " + String.valueOf(getFactoryLocation()
 	) + " | " + 
		              		
		              			"FactoryRadius = " + String.valueOf(getFactoryRadius()
 	) + " | " + 
		              		
		              			"DisperserLocation = " + String.valueOf(getDisperserLocation()
 	) + " | " + 
		              		
		              			"DisperserRadius = " + String.valueOf(getDisperserRadius()
 	) + " | " + 
		              		
		              			"FactoryAdrenalineCount = " + String.valueOf(getFactoryAdrenalineCount()
 	) + " | " + 
		              		
		              			"FactorySpawnType = " + String.valueOf(getFactorySpawnType()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Gametype</b> = " + String.valueOf(getGametype()
 	) + " <br/> " + 
		              		
		              			"<b>Level</b> = " + String.valueOf(getLevel()
 	) + " <br/> " + 
		              		
		              			"<b>MaxTeams</b> = " + String.valueOf(getMaxTeams()
 	) + " <br/> " + 
		              		
		              			"<b>RedBaseLocation</b> = " + String.valueOf(getRedBaseLocation()
 	) + " <br/> " + 
		              		
		              			"<b>BlueBaseLocation</b> = " + String.valueOf(getBlueBaseLocation()
 	) + " <br/> " + 
		              		
		              			"<b>FirstDomPointLocation</b> = " + String.valueOf(getFirstDomPointLocation()
 	) + " <br/> " + 
		              		
		              			"<b>SecondDomPointLocation</b> = " + String.valueOf(getSecondDomPointLocation()
 	) + " <br/> " + 
		              		
		              			"<b>FactoryLocation</b> = " + String.valueOf(getFactoryLocation()
 	) + " <br/> " + 
		              		
		              			"<b>FactoryRadius</b> = " + String.valueOf(getFactoryRadius()
 	) + " <br/> " + 
		              		
		              			"<b>DisperserLocation</b> = " + String.valueOf(getDisperserLocation()
 	) + " <br/> " + 
		              		
		              			"<b>DisperserRadius</b> = " + String.valueOf(getDisperserRadius()
 	) + " <br/> " + 
		              		
		              			"<b>FactoryAdrenalineCount</b> = " + String.valueOf(getFactoryAdrenalineCount()
 	) + " <br/> " + 
		              		
		              			"<b>FactorySpawnType</b> = " + String.valueOf(getFactorySpawnType()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfLocal.java324
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfMessage.java2235
    (this.getStatic(), SimTime);
		}
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"BotId = " + String.valueOf(getBotId()
 	) + " | " + 
		              		
		              			"Name = " + String.valueOf(getName()
 	) + " | " + 
		              		
		              			"Vehicle = " + String.valueOf(isVehicle()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Weapon = " + String.valueOf(getWeapon()
 	) + " | " + 
		              		
		              			"Shooting = " + String.valueOf(isShooting()
 	) + " | " + 
		              		
		              			"Health = " + String.valueOf(getHealth()
 	) + " | " + 
		              		
		              			"PrimaryAmmo = " + String.valueOf(getPrimaryAmmo()
 	) + " | " + 
		              		
		              			"SecondaryAmmo = " + String.valueOf(getSecondaryAmmo()
 	) + " | " + 
		              		
		              			"Adrenaline = " + String.valueOf(getAdrenaline()
 	) + " | " + 
		              		
		              			"Armor = " + String.valueOf(getArmor()
 	) + " | " + 
		              		
		              			"SmallArmor = " + String.valueOf(getSmallArmor()
 	) + " | " + 
		              		
		              			"AltFiring = " + String.valueOf(isAltFiring()
 	) + " | " + 
		              		
		              			"Crouched = " + String.valueOf(isCrouched()
 	) + " | " + 
		              		
		              			"Walking = " + String.valueOf(isWalking()
 	) + " | " + 
		              		
		              			"FloorLocation = " + String.valueOf(getFloorLocation()
 	) + " | " + 
		              		
		              			"FloorNormal = " + String.valueOf(getFloorNormal()
 	) + " | " + 
		              		
		              			"Combo = " + String.valueOf(getCombo()
 	) + " | " + 
		              		
		              			"UDamageTime = " + String.valueOf(getUDamageTime()
 	) + " | " + 
		              		
		              			"Action = " + String.valueOf(getAction()
 	) + " | " + 
		              		
		              			"EmotLeft = " + String.valueOf(getEmotLeft()
 	) + " | " + 
		              		
		              			"EmotCenter = " + String.valueOf(getEmotCenter()
 	) + " | " + 
		              		
		              			"EmotRight = " + String.valueOf(getEmotRight()
 	) + " | " + 
		              		
		              			"Bubble = " + String.valueOf(getBubble()
 	) + " | " + 
		              		
		              			"Anim = " + String.valueOf(getAnim()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>BotId</b> = " + String.valueOf(getBotId()
 	) + " <br/> " + 
		              		
		              			"<b>Name</b> = " + String.valueOf(getName()
 	) + " <br/> " + 
		              		
		              			"<b>Vehicle</b> = " + String.valueOf(isVehicle()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Weapon</b> = " + String.valueOf(getWeapon()
 	) + " <br/> " + 
		              		
		              			"<b>Shooting</b> = " + String.valueOf(isShooting()
 	) + " <br/> " + 
		              		
		              			"<b>Health</b> = " + String.valueOf(getHealth()
 	) + " <br/> " + 
		              		
		              			"<b>PrimaryAmmo</b> = " + String.valueOf(getPrimaryAmmo()
 	) + " <br/> " + 
		              		
		              			"<b>SecondaryAmmo</b> = " + String.valueOf(getSecondaryAmmo()
 	) + " <br/> " + 
		              		
		              			"<b>Adrenaline</b> = " + String.valueOf(getAdrenaline()
 	) + " <br/> " + 
		              		
		              			"<b>Armor</b> = " + String.valueOf(getArmor()
 	) + " <br/> " + 
		              		
		              			"<b>SmallArmor</b> = " + String.valueOf(getSmallArmor()
 	) + " <br/> " + 
		              		
		              			"<b>AltFiring</b> = " + String.valueOf(isAltFiring()
 	) + " <br/> " + 
		              		
		              			"<b>Crouched</b> = " + String.valueOf(isCrouched()
 	) + " <br/> " + 
		              		
		              			"<b>Walking</b> = " + String.valueOf(isWalking()
 	) + " <br/> " + 
		              		
		              			"<b>FloorLocation</b> = " + String.valueOf(getFloorLocation()
 	) + " <br/> " + 
		              		
		              			"<b>FloorNormal</b> = " + String.valueOf(getFloorNormal()
 	) + " <br/> " + 
		              		
		              			"<b>Combo</b> = " + String.valueOf(getCombo()
 	) + " <br/> " + 
		              		
		              			"<b>UDamageTime</b> = " + String.valueOf(getUDamageTime()
 	) + " <br/> " + 
		              		
		              			"<b>Action</b> = " + String.valueOf(getAction()
 	) + " <br/> " + 
		              		
		              			"<b>EmotLeft</b> = " + String.valueOf(getEmotLeft()
 	) + " <br/> " + 
		              		
		              			"<b>EmotCenter</b> = " + String.valueOf(getEmotCenter()
 	) + " <br/> " + 
		              		
		              			"<b>EmotRight</b> = " + String.valueOf(getEmotRight()
 	) + " <br/> " + 
		              		
		              			"<b>Bubble</b> = " + String.valueOf(getBubble()
 	) + " <br/> " + 
		              		
		              			"<b>Anim</b> = " + String.valueOf(getAnim()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=base+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=base+classtype[@name=message]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Self.java355
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfLocalImpl.java1472
				return data.getId();
			}
			
		}	
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"BotId = " + String.valueOf(getBotId()
 	) + " | " + 
		              		
		              			"Name = " + String.valueOf(getName()
 	) + " | " + 
		              		
		              			"Vehicle = " + String.valueOf(isVehicle()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Weapon = " + String.valueOf(getWeapon()
 	) + " | " + 
		              		
		              			"Shooting = " + String.valueOf(isShooting()
 	) + " | " + 
		              		
		              			"Health = " + String.valueOf(getHealth()
 	) + " | " + 
		              		
		              			"PrimaryAmmo = " + String.valueOf(getPrimaryAmmo()
 	) + " | " + 
		              		
		              			"SecondaryAmmo = " + String.valueOf(getSecondaryAmmo()
 	) + " | " + 
		              		
		              			"Adrenaline = " + String.valueOf(getAdrenaline()
 	) + " | " + 
		              		
		              			"Armor = " + String.valueOf(getArmor()
 	) + " | " + 
		              		
		              			"SmallArmor = " + String.valueOf(getSmallArmor()
 	) + " | " + 
		              		
		              			"AltFiring = " + String.valueOf(isAltFiring()
 	) + " | " + 
		              		
		              			"Crouched = " + String.valueOf(isCrouched()
 	) + " | " + 
		              		
		              			"Walking = " + String.valueOf(isWalking()
 	) + " | " + 
		              		
		              			"FloorLocation = " + String.valueOf(getFloorLocation()
 	) + " | " + 
		              		
		              			"FloorNormal = " + String.valueOf(getFloorNormal()
 	) + " | " + 
		              		
		              			"Combo = " + String.valueOf(getCombo()
 	) + " | " + 
		              		
		              			"UDamageTime = " + String.valueOf(getUDamageTime()
 	) + " | " + 
		              		
		              			"Action = " + String.valueOf(getAction()
 	) + " | " + 
		              		
		              			"EmotLeft = " + String.valueOf(getEmotLeft()
 	) + " | " + 
		              		
		              			"EmotCenter = " + String.valueOf(getEmotCenter()
 	) + " | " + 
		              		
		              			"EmotRight = " + String.valueOf(getEmotRight()
 	) + " | " + 
		              		
		              			"Bubble = " + String.valueOf(getBubble()
 	) + " | " + 
		              		
		              			"Anim = " + String.valueOf(getAnim()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>BotId</b> = " + String.valueOf(getBotId()
 	) + " <br/> " + 
		              		
		              			"<b>Name</b> = " + String.valueOf(getName()
 	) + " <br/> " + 
		              		
		              			"<b>Vehicle</b> = " + String.valueOf(isVehicle()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Weapon</b> = " + String.valueOf(getWeapon()
 	) + " <br/> " + 
		              		
		              			"<b>Shooting</b> = " + String.valueOf(isShooting()
 	) + " <br/> " + 
		              		
		              			"<b>Health</b> = " + String.valueOf(getHealth()
 	) + " <br/> " + 
		              		
		              			"<b>PrimaryAmmo</b> = " + String.valueOf(getPrimaryAmmo()
 	) + " <br/> " + 
		              		
		              			"<b>SecondaryAmmo</b> = " + String.valueOf(getSecondaryAmmo()
 	) + " <br/> " + 
		              		
		              			"<b>Adrenaline</b> = " + String.valueOf(getAdrenaline()
 	) + " <br/> " + 
		              		
		              			"<b>Armor</b> = " + String.valueOf(getArmor()
 	) + " <br/> " + 
		              		
		              			"<b>SmallArmor</b> = " + String.valueOf(getSmallArmor()
 	) + " <br/> " + 
		              		
		              			"<b>AltFiring</b> = " + String.valueOf(isAltFiring()
 	) + " <br/> " + 
		              		
		              			"<b>Crouched</b> = " + String.valueOf(isCrouched()
 	) + " <br/> " + 
		              		
		              			"<b>Walking</b> = " + String.valueOf(isWalking()
 	) + " <br/> " + 
		              		
		              			"<b>FloorLocation</b> = " + String.valueOf(getFloorLocation()
 	) + " <br/> " + 
		              		
		              			"<b>FloorNormal</b> = " + String.valueOf(getFloorNormal()
 	) + " <br/> " + 
		              		
		              			"<b>Combo</b> = " + String.valueOf(getCombo()
 	) + " <br/> " + 
		              		
		              			"<b>UDamageTime</b> = " + String.valueOf(getUDamageTime()
 	) + " <br/> " + 
		              		
		              			"<b>Action</b> = " + String.valueOf(getAction()
 	) + " <br/> " + 
		              		
		              			"<b>EmotLeft</b> = " + String.valueOf(getEmotLeft()
 	) + " <br/> " + 
		              		
		              			"<b>EmotCenter</b> = " + String.valueOf(getEmotCenter()
 	) + " <br/> " + 
		              		
		              			"<b>EmotRight</b> = " + String.valueOf(getEmotRight()
 	) + " <br/> " + 
		              		
		              			"<b>Bubble</b> = " + String.valueOf(getBubble()
 	) + " <br/> " + 
		              		
		              			"<b>Anim</b> = " + String.valueOf(getAnim()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfLocal.java325
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfLocalImpl.java1475
				    				}
				    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"BotId = " + String.valueOf(getBotId()
 	) + " | " + 
		              		
		              			"Name = " + String.valueOf(getName()
 	) + " | " + 
		              		
		              			"Vehicle = " + String.valueOf(isVehicle()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Weapon = " + String.valueOf(getWeapon()
 	) + " | " + 
		              		
		              			"Shooting = " + String.valueOf(isShooting()
 	) + " | " + 
		              		
		              			"Health = " + String.valueOf(getHealth()
 	) + " | " + 
		              		
		              			"PrimaryAmmo = " + String.valueOf(getPrimaryAmmo()
 	) + " | " + 
		              		
		              			"SecondaryAmmo = " + String.valueOf(getSecondaryAmmo()
 	) + " | " + 
		              		
		              			"Adrenaline = " + String.valueOf(getAdrenaline()
 	) + " | " + 
		              		
		              			"Armor = " + String.valueOf(getArmor()
 	) + " | " + 
		              		
		              			"SmallArmor = " + String.valueOf(getSmallArmor()
 	) + " | " + 
		              		
		              			"AltFiring = " + String.valueOf(isAltFiring()
 	) + " | " + 
		              		
		              			"Crouched = " + String.valueOf(isCrouched()
 	) + " | " + 
		              		
		              			"Walking = " + String.valueOf(isWalking()
 	) + " | " + 
		              		
		              			"FloorLocation = " + String.valueOf(getFloorLocation()
 	) + " | " + 
		              		
		              			"FloorNormal = " + String.valueOf(getFloorNormal()
 	) + " | " + 
		              		
		              			"Combo = " + String.valueOf(getCombo()
 	) + " | " + 
		              		
		              			"UDamageTime = " + String.valueOf(getUDamageTime()
 	) + " | " + 
		              		
		              			"Action = " + String.valueOf(getAction()
 	) + " | " + 
		              		
		              			"EmotLeft = " + String.valueOf(getEmotLeft()
 	) + " | " + 
		              		
		              			"EmotCenter = " + String.valueOf(getEmotCenter()
 	) + " | " + 
		              		
		              			"EmotRight = " + String.valueOf(getEmotRight()
 	) + " | " + 
		              		
		              			"Bubble = " + String.valueOf(getBubble()
 	) + " | " + 
		              		
		              			"Anim = " + String.valueOf(getAnim()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>BotId</b> = " + String.valueOf(getBotId()
 	) + " <br/> " + 
		              		
		              			"<b>Name</b> = " + String.valueOf(getName()
 	) + " <br/> " + 
		              		
		              			"<b>Vehicle</b> = " + String.valueOf(isVehicle()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Weapon</b> = " + String.valueOf(getWeapon()
 	) + " <br/> " + 
		              		
		              			"<b>Shooting</b> = " + String.valueOf(isShooting()
 	) + " <br/> " + 
		              		
		              			"<b>Health</b> = " + String.valueOf(getHealth()
 	) + " <br/> " + 
		              		
		              			"<b>PrimaryAmmo</b> = " + String.valueOf(getPrimaryAmmo()
 	) + " <br/> " + 
		              		
		              			"<b>SecondaryAmmo</b> = " + String.valueOf(getSecondaryAmmo()
 	) + " <br/> " + 
		              		
		              			"<b>Adrenaline</b> = " + String.valueOf(getAdrenaline()
 	) + " <br/> " + 
		              		
		              			"<b>Armor</b> = " + String.valueOf(getArmor()
 	) + " <br/> " + 
		              		
		              			"<b>SmallArmor</b> = " + String.valueOf(getSmallArmor()
 	) + " <br/> " + 
		              		
		              			"<b>AltFiring</b> = " + String.valueOf(isAltFiring()
 	) + " <br/> " + 
		              		
		              			"<b>Crouched</b> = " + String.valueOf(isCrouched()
 	) + " <br/> " + 
		              		
		              			"<b>Walking</b> = " + String.valueOf(isWalking()
 	) + " <br/> " + 
		              		
		              			"<b>FloorLocation</b> = " + String.valueOf(getFloorLocation()
 	) + " <br/> " + 
		              		
		              			"<b>FloorNormal</b> = " + String.valueOf(getFloorNormal()
 	) + " <br/> " + 
		              		
		              			"<b>Combo</b> = " + String.valueOf(getCombo()
 	) + " <br/> " + 
		              		
		              			"<b>UDamageTime</b> = " + String.valueOf(getUDamageTime()
 	) + " <br/> " + 
		              		
		              			"<b>Action</b> = " + String.valueOf(getAction()
 	) + " <br/> " + 
		              		
		              			"<b>EmotLeft</b> = " + String.valueOf(getEmotLeft()
 	) + " <br/> " + 
		              		
		              			"<b>EmotCenter</b> = " + String.valueOf(getEmotCenter()
 	) + " <br/> " + 
		              		
		              			"<b>EmotRight</b> = " + String.valueOf(getEmotRight()
 	) + " <br/> " + 
		              		
		              			"<b>Bubble</b> = " + String.valueOf(getBubble()
 	) + " <br/> " + 
		              		
		              			"<b>Anim</b> = " + String.valueOf(getAnim()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPoint.java416
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java2485
		}
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
		              			"Item = " + String.valueOf(getItem()
 	) + " | " + 
		              		
		              			"ItemClass = " + String.valueOf(getItemClass()
 	) + " | " + 
		              		
		              			"ItemSpawned = " + String.valueOf(isItemSpawned()
 	) + " | " + 
		              		
		              			"DoorOpened = " + String.valueOf(isDoorOpened()
 	) + " | " + 
		              		
		              			"Mover = " + String.valueOf(getMover()
 	) + " | " + 
		              		
		              			"LiftOffset = " + String.valueOf(getLiftOffset()
 	) + " | " + 
		              		
		              			"LiftJumpExit = " + String.valueOf(isLiftJumpExit()
 	) + " | " + 
		              		
		              			"NoDoubleJump = " + String.valueOf(isNoDoubleJump()
 	) + " | " + 
		              		
		              			"InvSpot = " + String.valueOf(isInvSpot()
 	) + " | " + 
		              		
		              			"PlayerStart = " + String.valueOf(isPlayerStart()
 	) + " | " + 
		              		
		              			"TeamNumber = " + String.valueOf(getTeamNumber()
 	) + " | " + 
		              		
		              			"DomPoint = " + String.valueOf(isDomPoint()
 	) + " | " + 
		              		
		              			"DomPointController = " + String.valueOf(getDomPointController()
 	) + " | " + 
		              		
		              			"Door = " + String.valueOf(isDoor()
 	) + " | " + 
		              		
		              			"LiftCenter = " + String.valueOf(isLiftCenter()
 	) + " | " + 
		              		
		              			"LiftExit = " + String.valueOf(isLiftExit()
 	) + " | " + 
		              		
		              			"AIMarker = " + String.valueOf(isAIMarker()
 	) + " | " + 
		              		
		              			"JumpSpot = " + String.valueOf(isJumpSpot()
 	) + " | " + 
		              		
		              			"JumpPad = " + String.valueOf(isJumpPad()
 	) + " | " + 
		              		
		              			"JumpDest = " + String.valueOf(isJumpDest()
 	) + " | " + 
		              		
		              			"Teleporter = " + String.valueOf(isTeleporter()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"RoamingSpot = " + String.valueOf(isRoamingSpot()
 	) + " | " + 
		              		
		              			"SnipingSpot = " + String.valueOf(isSnipingSpot()
 	) + " | " + 
		              		
		              			"PreferedWeapon = " + String.valueOf(getPreferedWeapon()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
		              			"<b>Item</b> = " + String.valueOf(getItem()
 	) + " <br/> " + 
		              		
		              			"<b>ItemClass</b> = " + String.valueOf(getItemClass()
 	) + " <br/> " + 
		              		
		              			"<b>ItemSpawned</b> = " + String.valueOf(isItemSpawned()
 	) + " <br/> " + 
		              		
		              			"<b>DoorOpened</b> = " + String.valueOf(isDoorOpened()
 	) + " <br/> " + 
		              		
		              			"<b>Mover</b> = " + String.valueOf(getMover()
 	) + " <br/> " + 
		              		
		              			"<b>LiftOffset</b> = " + String.valueOf(getLiftOffset()
 	) + " <br/> " + 
		              		
		              			"<b>LiftJumpExit</b> = " + String.valueOf(isLiftJumpExit()
 	) + " <br/> " + 
		              		
		              			"<b>NoDoubleJump</b> = " + String.valueOf(isNoDoubleJump()
 	) + " <br/> " + 
		              		
		              			"<b>InvSpot</b> = " + String.valueOf(isInvSpot()
 	) + " <br/> " + 
		              		
		              			"<b>PlayerStart</b> = " + String.valueOf(isPlayerStart()
 	) + " <br/> " + 
		              		
		              			"<b>TeamNumber</b> = " + String.valueOf(getTeamNumber()
 	) + " <br/> " + 
		              		
		              			"<b>DomPoint</b> = " + String.valueOf(isDomPoint()
 	) + " <br/> " + 
		              		
		              			"<b>DomPointController</b> = " + String.valueOf(getDomPointController()
 	) + " <br/> " + 
		              		
		              			"<b>Door</b> = " + String.valueOf(isDoor()
 	) + " <br/> " + 
		              		
		              			"<b>LiftCenter</b> = " + String.valueOf(isLiftCenter()
 	) + " <br/> " + 
		              		
		              			"<b>LiftExit</b> = " + String.valueOf(isLiftExit()
 	) + " <br/> " + 
		              		
		              			"<b>AIMarker</b> = " + String.valueOf(isAIMarker()
 	) + " <br/> " + 
		              		
		              			"<b>JumpSpot</b> = " + String.valueOf(isJumpSpot()
 	) + " <br/> " + 
		              		
		              			"<b>JumpPad</b> = " + String.valueOf(isJumpPad()
 	) + " <br/> " + 
		              		
		              			"<b>JumpDest</b> = " + String.valueOf(isJumpDest()
 	) + " <br/> " + 
		              		
		              			"<b>Teleporter</b> = " + String.valueOf(isTeleporter()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>RoamingSpot</b> = " + String.valueOf(isRoamingSpot()
 	) + " <br/> " + 
		              		
		              			"<b>SnipingSpot</b> = " + String.valueOf(isSnipingSpot()
 	) + " <br/> " + 
		              		
		              			"<b>PreferedWeapon</b> = " + String.valueOf(getPreferedWeapon()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=base+classtype[@name=message]) ---
	                
         	  
         		    
         		    
         	            		   	
         	  
         		    
         		    
         	  
         	/**
		     * DO NOT USE THIS METHOD! Reserved for GaviaLib (Pogamut core)! It's used
		     * to set correct item instance into the NavPoint.
		     */  	
		    public void setItemInstance(Item item) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Self.java358
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfMessage.java1607
		}
 	
 		
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"BotId = " + String.valueOf(getBotId()
 	) + " | " + 
		              		
		              			"Name = " + String.valueOf(getName()
 	) + " | " + 
		              		
		              			"Vehicle = " + String.valueOf(isVehicle()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Weapon = " + String.valueOf(getWeapon()
 	) + " | " + 
		              		
		              			"Shooting = " + String.valueOf(isShooting()
 	) + " | " + 
		              		
		              			"Health = " + String.valueOf(getHealth()
 	) + " | " + 
		              		
		              			"PrimaryAmmo = " + String.valueOf(getPrimaryAmmo()
 	) + " | " + 
		              		
		              			"SecondaryAmmo = " + String.valueOf(getSecondaryAmmo()
 	) + " | " + 
		              		
		              			"Adrenaline = " + String.valueOf(getAdrenaline()
 	) + " | " + 
		              		
		              			"Armor = " + String.valueOf(getArmor()
 	) + " | " + 
		              		
		              			"SmallArmor = " + String.valueOf(getSmallArmor()
 	) + " | " + 
		              		
		              			"AltFiring = " + String.valueOf(isAltFiring()
 	) + " | " + 
		              		
		              			"Crouched = " + String.valueOf(isCrouched()
 	) + " | " + 
		              		
		              			"Walking = " + String.valueOf(isWalking()
 	) + " | " + 
		              		
		              			"FloorLocation = " + String.valueOf(getFloorLocation()
 	) + " | " + 
		              		
		              			"FloorNormal = " + String.valueOf(getFloorNormal()
 	) + " | " + 
		              		
		              			"Combo = " + String.valueOf(getCombo()
 	) + " | " + 
		              		
		              			"UDamageTime = " + String.valueOf(getUDamageTime()
 	) + " | " + 
		              		
		              			"Action = " + String.valueOf(getAction()
 	) + " | " + 
		              		
		              			"EmotLeft = " + String.valueOf(getEmotLeft()
 	) + " | " + 
		              		
		              			"EmotCenter = " + String.valueOf(getEmotCenter()
 	) + " | " + 
		              		
		              			"EmotRight = " + String.valueOf(getEmotRight()
 	) + " | " + 
		              		
		              			"Bubble = " + String.valueOf(getBubble()
 	) + " | " + 
		              		
		              			"Anim = " + String.valueOf(getAnim()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>BotId</b> = " + String.valueOf(getBotId()
 	) + " <br/> " + 
		              		
		              			"<b>Name</b> = " + String.valueOf(getName()
 	) + " <br/> " + 
		              		
		              			"<b>Vehicle</b> = " + String.valueOf(isVehicle()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Weapon</b> = " + String.valueOf(getWeapon()
 	) + " <br/> " + 
		              		
		              			"<b>Shooting</b> = " + String.valueOf(isShooting()
 	) + " <br/> " + 
		              		
		              			"<b>Health</b> = " + String.valueOf(getHealth()
 	) + " <br/> " + 
		              		
		              			"<b>PrimaryAmmo</b> = " + String.valueOf(getPrimaryAmmo()
 	) + " <br/> " + 
		              		
		              			"<b>SecondaryAmmo</b> = " + String.valueOf(getSecondaryAmmo()
 	) + " <br/> " + 
		              		
		              			"<b>Adrenaline</b> = " + String.valueOf(getAdrenaline()
 	) + " <br/> " + 
		              		
		              			"<b>Armor</b> = " + String.valueOf(getArmor()
 	) + " <br/> " + 
		              		
		              			"<b>SmallArmor</b> = " + String.valueOf(getSmallArmor()
 	) + " <br/> " + 
		              		
		              			"<b>AltFiring</b> = " + String.valueOf(isAltFiring()
 	) + " <br/> " + 
		              		
		              			"<b>Crouched</b> = " + String.valueOf(isCrouched()
 	) + " <br/> " + 
		              		
		              			"<b>Walking</b> = " + String.valueOf(isWalking()
 	) + " <br/> " + 
		              		
		              			"<b>FloorLocation</b> = " + String.valueOf(getFloorLocation()
 	) + " <br/> " + 
		              		
		              			"<b>FloorNormal</b> = " + String.valueOf(getFloorNormal()
 	) + " <br/> " + 
		              		
		              			"<b>Combo</b> = " + String.valueOf(getCombo()
 	) + " <br/> " + 
		              		
		              			"<b>UDamageTime</b> = " + String.valueOf(getUDamageTime()
 	) + " <br/> " + 
		              		
		              			"<b>Action</b> = " + String.valueOf(getAction()
 	) + " <br/> " + 
		              		
		              			"<b>EmotLeft</b> = " + String.valueOf(getEmotLeft()
 	) + " <br/> " + 
		              		
		              			"<b>EmotCenter</b> = " + String.valueOf(getEmotCenter()
 	) + " <br/> " + 
		              		
		              			"<b>EmotRight</b> = " + String.valueOf(getEmotRight()
 	) + " <br/> " + 
		              		
		              			"<b>Bubble</b> = " + String.valueOf(getBubble()
 	) + " <br/> " + 
		              		
		              			"<b>Anim</b> = " + String.valueOf(getAnim()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/state/NavPointListState.java47
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/NavPointListState.java47
public class NavPointListState extends AbstractServerFSMState<InfoMessage, TranslatorContext> {
	
	private boolean begun = false;
	
	private Map<UnrealId, NavPoint> navPoints = new HashMap<UnrealId, NavPoint>();
	
	private Map<UnrealId, List<NavPointNeighbourLink>> neighbours = new HashMap<UnrealId, List<NavPointNeighbourLink>>();
	
	private NavPoint currentNavPoint = null;

	public NavPointListState() {
	}
	
	@Override
	public void stateEntering(TranslatorContext context, IFSMState<InfoMessage, TranslatorContext> fromState, InfoMessage symbol) {
		if (!begun) {
			if (!symbol.getClass().equals(NavPointListStart.class)) throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, NavPointListStart.class), context.getLogger(), this);
			begun = true;
			return;
		}		
		if (!symbol.getClass().equals(NavPointNeighbourLinkEnd.class)) throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, NavPointNeighbourLinkEnd.class), context.getLogger(), this);
		navPoints.put(currentNavPoint.getId(), currentNavPoint);
		neighbours.put(currentNavPoint.getId(), context.getNeighbours());
	}
	
	@Override
	public void stateLeaving(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
		if (symbol.getClass().equals(NavPointNeighbourLinkStart.class)) return;	
		if (!symbol.getClass().equals(NavPointListEnd.class)) throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, NavPointListEnd.class), context.getLogger(), this);
		
		long simTime = 
			(symbol instanceof IWorldChangeEvent ? ((IWorldChangeEvent)symbol).getSimTime() : 0);
		
		// we've received all the navpoints we could!		
		context.setNavPoints(navPoints);
		context.setNavPointLinks(neighbours);
		context.processNavPointLinks();

		if (context.getItems() != null && context.getItems().size() > 0) {
			context.processNavPointsAndItems();
			if (context.getLogger().isLoggable(Level.FINE)) context.getLogger().fine("Pushing NavPoint events.");
			context.getEventQueue().pushEvent(context.getNavPoints().values().toArray(new IWorldChangeEvent[0]));
			if (context.getLogger().isLoggable(Level.FINE)) context.getLogger().fine("Pushing Item events.");
			context.getEventQueue().pushEvent(context.getItems().values().toArray(new IWorldChangeEvent[0]));
			context.getEventQueue().pushEvent(new MapPointListObtained(context.getNavPoints(), context.getItems(), simTime));
		} else {
			if (context.getLogger().isLoggable(Level.FINE)) context.getLogger().fine("Pushing NavPoint events.");
			context.getEventQueue().pushEvent(context.getNavPoints().values().toArray(new IWorldChangeEvent[0]));
		}
		
		// leaving the state, mark we haven't ever begun
		navPoints = new HashMap<UnrealId, NavPoint>(navPoints.size() + 20);
		neighbours = new HashMap<UnrealId, List<NavPointNeighbourLink>>(neighbours.size() + 20);
		begun = false;
	}

	@Override
	protected void innerStateSymbol(TranslatorContext context, InfoMessage symbol) {
		if (!symbol.getClass().equals(NavPoint.class)) {
			if (!NavPoint.class.isAssignableFrom(symbol.getClass())) {
				throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, NavPoint.class), context.getLogger(), this);
			}
		}
		currentNavPoint = (NavPoint)symbol;
	}

	@Override
	public void init(TranslatorContext context) {
	}

	@Override
	public void restart(TranslatorContext context) {
		currentNavPoint = null;
		begun = false;
		navPoints = new HashMap<UnrealId, NavPoint>(navPoints.size() + 20);
		neighbours = new HashMap<UnrealId, List<NavPointNeighbourLink>>(neighbours.size() + 20);
	}
	
}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MoverMessage.java811
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MoverStaticImpl.java498
		}
	
    
 		
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				MoverStatic obj = (MoverStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class MoverStatic");
							return true;
						}
 					
 						if ( !(this.isDamageTrig()
 	
 	 			== obj.isDamageTrig()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property DamageTrig on object class MoverStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getType()
 	, obj.getType()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Type on object class MoverStatic");
							return true;
						}
 					
 						if ( !(this.isIsMoving()
 	
 	 			== obj.isIsMoving()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property IsMoving on object class MoverStatic");
							return true;
						}
 					
 						if ( !(this.getMoveTime()
 	
 	 			== obj.getMoveTime()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property MoveTime on object class MoverStatic");
							return true;
						}
 					
 						if ( !(this.getOpenTime()
 	
 	 			== obj.getOpenTime()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property OpenTime on object class MoverStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getBasePos()
 	, obj.getBasePos()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property BasePos on object class MoverStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getBaseRot()
 	, obj.getBaseRot()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property BaseRot on object class MoverStatic");
							return true;
						}
 					
 						if ( !(this.getDelayTime()
 	
 	 			== obj.getDelayTime()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property DelayTime on object class MoverStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getNavPointMarker()
 	, obj.getNavPointMarker()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property NavPointMarker on object class MoverStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"DamageTrig = " + String.valueOf(isDamageTrig()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
		              			"IsMoving = " + String.valueOf(isIsMoving()
 	) + " | " + 
		              		
		              			"MoveTime = " + String.valueOf(getMoveTime()
 	) + " | " + 
		              		
		              			"OpenTime = " + String.valueOf(getOpenTime()
 	) + " | " + 
		              		
		              			"BasePos = " + String.valueOf(getBasePos()
 	) + " | " + 
		              		
		              			"BaseRot = " + String.valueOf(getBaseRot()
 	) + " | " + 
		              		
		              			"DelayTime = " + String.valueOf(getDelayTime()
 	) + " | " + 
		              		
		              			"NavPointMarker = " + String.valueOf(getNavPointMarker()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>DamageTrig</b> = " + String.valueOf(isDamageTrig()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
		              			"<b>IsMoving</b> = " + String.valueOf(isIsMoving()
 	) + " <br/> " + 
		              		
		              			"<b>MoveTime</b> = " + String.valueOf(getMoveTime()
 	) + " <br/> " + 
		              		
		              			"<b>OpenTime</b> = " + String.valueOf(getOpenTime()
 	) + " <br/> " + 
		              		
		              			"<b>BasePos</b> = " + String.valueOf(getBasePos()
 	) + " <br/> " + 
		              		
		              			"<b>BaseRot</b> = " + String.valueOf(getBaseRot()
 	) + " <br/> " + 
		              		
		              			"<b>DelayTime</b> = " + String.valueOf(getDelayTime()
 	) + " <br/> " + 
		              		
		              			"<b>NavPointMarker</b> = " + String.valueOf(getNavPointMarker()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MoverMessage.java814
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MoverStatic.java144
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				MoverStatic obj = (MoverStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class MoverStatic");
							return true;
						}
 					
 						if ( !(this.isDamageTrig()
 	
 	 			== obj.isDamageTrig()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property DamageTrig on object class MoverStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getType()
 	, obj.getType()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Type on object class MoverStatic");
							return true;
						}
 					
 						if ( !(this.isIsMoving()
 	
 	 			== obj.isIsMoving()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property IsMoving on object class MoverStatic");
							return true;
						}
 					
 						if ( !(this.getMoveTime()
 	
 	 			== obj.getMoveTime()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property MoveTime on object class MoverStatic");
							return true;
						}
 					
 						if ( !(this.getOpenTime()
 	
 	 			== obj.getOpenTime()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property OpenTime on object class MoverStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getBasePos()
 	, obj.getBasePos()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property BasePos on object class MoverStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getBaseRot()
 	, obj.getBaseRot()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property BaseRot on object class MoverStatic");
							return true;
						}
 					
 						if ( !(this.getDelayTime()
 	
 	 			== obj.getDelayTime()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property DelayTime on object class MoverStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getNavPointMarker()
 	, obj.getNavPointMarker()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property NavPointMarker on object class MoverStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"DamageTrig = " + String.valueOf(isDamageTrig()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
		              			"IsMoving = " + String.valueOf(isIsMoving()
 	) + " | " + 
		              		
		              			"MoveTime = " + String.valueOf(getMoveTime()
 	) + " | " + 
		              		
		              			"OpenTime = " + String.valueOf(getOpenTime()
 	) + " | " + 
		              		
		              			"BasePos = " + String.valueOf(getBasePos()
 	) + " | " + 
		              		
		              			"BaseRot = " + String.valueOf(getBaseRot()
 	) + " | " + 
		              		
		              			"DelayTime = " + String.valueOf(getDelayTime()
 	) + " | " + 
		              		
		              			"NavPointMarker = " + String.valueOf(getNavPointMarker()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>DamageTrig</b> = " + String.valueOf(isDamageTrig()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
		              			"<b>IsMoving</b> = " + String.valueOf(isIsMoving()
 	) + " <br/> " + 
		              		
		              			"<b>MoveTime</b> = " + String.valueOf(getMoveTime()
 	) + " <br/> " + 
		              		
		              			"<b>OpenTime</b> = " + String.valueOf(getOpenTime()
 	) + " <br/> " + 
		              		
		              			"<b>BasePos</b> = " + String.valueOf(getBasePos()
 	) + " <br/> " + 
		              		
		              			"<b>BaseRot</b> = " + String.valueOf(getBaseRot()
 	) + " <br/> " + 
		              		
		              			"<b>DelayTime</b> = " + String.valueOf(getDelayTime()
 	) + " <br/> " + 
		              		
		              			"<b>NavPointMarker</b> = " + String.valueOf(getNavPointMarker()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessageLocal.java262
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessageMessage.java1706
    (this.getStatic(), SimTime);
		}
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"BotId = " + String.valueOf(getBotId()
 	) + " | " + 
		              		
		              			"HealthStart = " + String.valueOf(getHealthStart()
 	) + " | " + 
		              		
		              			"HealthFull = " + String.valueOf(getHealthFull()
 	) + " | " + 
		              		
		              			"HealthMax = " + String.valueOf(getHealthMax()
 	) + " | " + 
		              		
		              			"AdrenalineStart = " + String.valueOf(getAdrenalineStart()
 	) + " | " + 
		              		
		              			"AdrenalineMax = " + String.valueOf(getAdrenalineMax()
 	) + " | " + 
		              		
		              			"ShieldStrengthStart = " + String.valueOf(getShieldStrengthStart()
 	) + " | " + 
		              		
		              			"ShieldStrengthMax = " + String.valueOf(getShieldStrengthMax()
 	) + " | " + 
		              		
		              			"MaxMultiJump = " + String.valueOf(getMaxMultiJump()
 	) + " | " + 
		              		
		              			"DamageScaling = " + String.valueOf(getDamageScaling()
 	) + " | " + 
		              		
		              			"GroundSpeed = " + String.valueOf(getGroundSpeed()
 	) + " | " + 
		              		
		              			"WaterSpeed = " + String.valueOf(getWaterSpeed()
 	) + " | " + 
		              		
		              			"AirSpeed = " + String.valueOf(getAirSpeed()
 	) + " | " + 
		              		
		              			"LadderSpeed = " + String.valueOf(getLadderSpeed()
 	) + " | " + 
		              		
		              			"AccelRate = " + String.valueOf(getAccelRate()
 	) + " | " + 
		              		
		              			"JumpZ = " + String.valueOf(getJumpZ()
 	) + " | " + 
		              		
		              			"MultiJumpBoost = " + String.valueOf(getMultiJumpBoost()
 	) + " | " + 
		              		
		              			"MaxFallSpeed = " + String.valueOf(getMaxFallSpeed()
 	) + " | " + 
		              		
		              			"DodgeSpeedFactor = " + String.valueOf(getDodgeSpeedFactor()
 	) + " | " + 
		              		
		              			"DodgeSpeedZ = " + String.valueOf(getDodgeSpeedZ()
 	) + " | " + 
		              		
		              			"AirControl = " + String.valueOf(getAirControl()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>BotId</b> = " + String.valueOf(getBotId()
 	) + " <br/> " + 
		              		
		              			"<b>HealthStart</b> = " + String.valueOf(getHealthStart()
 	) + " <br/> " + 
		              		
		              			"<b>HealthFull</b> = " + String.valueOf(getHealthFull()
 	) + " <br/> " + 
		              		
		              			"<b>HealthMax</b> = " + String.valueOf(getHealthMax()
 	) + " <br/> " + 
		              		
		              			"<b>AdrenalineStart</b> = " + String.valueOf(getAdrenalineStart()
 	) + " <br/> " + 
		              		
		              			"<b>AdrenalineMax</b> = " + String.valueOf(getAdrenalineMax()
 	) + " <br/> " + 
		              		
		              			"<b>ShieldStrengthStart</b> = " + String.valueOf(getShieldStrengthStart()
 	) + " <br/> " + 
		              		
		              			"<b>ShieldStrengthMax</b> = " + String.valueOf(getShieldStrengthMax()
 	) + " <br/> " + 
		              		
		              			"<b>MaxMultiJump</b> = " + String.valueOf(getMaxMultiJump()
 	) + " <br/> " + 
		              		
		              			"<b>DamageScaling</b> = " + String.valueOf(getDamageScaling()
 	) + " <br/> " + 
		              		
		              			"<b>GroundSpeed</b> = " + String.valueOf(getGroundSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>WaterSpeed</b> = " + String.valueOf(getWaterSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>AirSpeed</b> = " + String.valueOf(getAirSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>LadderSpeed</b> = " + String.valueOf(getLadderSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>AccelRate</b> = " + String.valueOf(getAccelRate()
 	) + " <br/> " + 
		              		
		              			"<b>JumpZ</b> = " + String.valueOf(getJumpZ()
 	) + " <br/> " + 
		              		
		              			"<b>MultiJumpBoost</b> = " + String.valueOf(getMultiJumpBoost()
 	) + " <br/> " + 
		              		
		              			"<b>MaxFallSpeed</b> = " + String.valueOf(getMaxFallSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>DodgeSpeedFactor</b> = " + String.valueOf(getDodgeSpeedFactor()
 	) + " <br/> " + 
		              		
		              			"<b>DodgeSpeedZ</b> = " + String.valueOf(getDodgeSpeedZ()
 	) + " <br/> " + 
		              		
		              			"<b>AirControl</b> = " + String.valueOf(getAirControl()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=base+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=base+classtype[@name=message]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessage.java292
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessageLocalImpl.java921
				return data.getId();
			}
			
		}	
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"BotId = " + String.valueOf(getBotId()
 	) + " | " + 
		              		
		              			"HealthStart = " + String.valueOf(getHealthStart()
 	) + " | " + 
		              		
		              			"HealthFull = " + String.valueOf(getHealthFull()
 	) + " | " + 
		              		
		              			"HealthMax = " + String.valueOf(getHealthMax()
 	) + " | " + 
		              		
		              			"AdrenalineStart = " + String.valueOf(getAdrenalineStart()
 	) + " | " + 
		              		
		              			"AdrenalineMax = " + String.valueOf(getAdrenalineMax()
 	) + " | " + 
		              		
		              			"ShieldStrengthStart = " + String.valueOf(getShieldStrengthStart()
 	) + " | " + 
		              		
		              			"ShieldStrengthMax = " + String.valueOf(getShieldStrengthMax()
 	) + " | " + 
		              		
		              			"MaxMultiJump = " + String.valueOf(getMaxMultiJump()
 	) + " | " + 
		              		
		              			"DamageScaling = " + String.valueOf(getDamageScaling()
 	) + " | " + 
		              		
		              			"GroundSpeed = " + String.valueOf(getGroundSpeed()
 	) + " | " + 
		              		
		              			"WaterSpeed = " + String.valueOf(getWaterSpeed()
 	) + " | " + 
		              		
		              			"AirSpeed = " + String.valueOf(getAirSpeed()
 	) + " | " + 
		              		
		              			"LadderSpeed = " + String.valueOf(getLadderSpeed()
 	) + " | " + 
		              		
		              			"AccelRate = " + String.valueOf(getAccelRate()
 	) + " | " + 
		              		
		              			"JumpZ = " + String.valueOf(getJumpZ()
 	) + " | " + 
		              		
		              			"MultiJumpBoost = " + String.valueOf(getMultiJumpBoost()
 	) + " | " + 
		              		
		              			"MaxFallSpeed = " + String.valueOf(getMaxFallSpeed()
 	) + " | " + 
		              		
		              			"DodgeSpeedFactor = " + String.valueOf(getDodgeSpeedFactor()
 	) + " | " + 
		              		
		              			"DodgeSpeedZ = " + String.valueOf(getDodgeSpeedZ()
 	) + " | " + 
		              		
		              			"AirControl = " + String.valueOf(getAirControl()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>BotId</b> = " + String.valueOf(getBotId()
 	) + " <br/> " + 
		              		
		              			"<b>HealthStart</b> = " + String.valueOf(getHealthStart()
 	) + " <br/> " + 
		              		
		              			"<b>HealthFull</b> = " + String.valueOf(getHealthFull()
 	) + " <br/> " + 
		              		
		              			"<b>HealthMax</b> = " + String.valueOf(getHealthMax()
 	) + " <br/> " + 
		              		
		              			"<b>AdrenalineStart</b> = " + String.valueOf(getAdrenalineStart()
 	) + " <br/> " + 
		              		
		              			"<b>AdrenalineMax</b> = " + String.valueOf(getAdrenalineMax()
 	) + " <br/> " + 
		              		
		              			"<b>ShieldStrengthStart</b> = " + String.valueOf(getShieldStrengthStart()
 	) + " <br/> " + 
		              		
		              			"<b>ShieldStrengthMax</b> = " + String.valueOf(getShieldStrengthMax()
 	) + " <br/> " + 
		              		
		              			"<b>MaxMultiJump</b> = " + String.valueOf(getMaxMultiJump()
 	) + " <br/> " + 
		              		
		              			"<b>DamageScaling</b> = " + String.valueOf(getDamageScaling()
 	) + " <br/> " + 
		              		
		              			"<b>GroundSpeed</b> = " + String.valueOf(getGroundSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>WaterSpeed</b> = " + String.valueOf(getWaterSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>AirSpeed</b> = " + String.valueOf(getAirSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>LadderSpeed</b> = " + String.valueOf(getLadderSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>AccelRate</b> = " + String.valueOf(getAccelRate()
 	) + " <br/> " + 
		              		
		              			"<b>JumpZ</b> = " + String.valueOf(getJumpZ()
 	) + " <br/> " + 
		              		
		              			"<b>MultiJumpBoost</b> = " + String.valueOf(getMultiJumpBoost()
 	) + " <br/> " + 
		              		
		              			"<b>MaxFallSpeed</b> = " + String.valueOf(getMaxFallSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>DodgeSpeedFactor</b> = " + String.valueOf(getDodgeSpeedFactor()
 	) + " <br/> " + 
		              		
		              			"<b>DodgeSpeedZ</b> = " + String.valueOf(getDodgeSpeedZ()
 	) + " <br/> " + 
		              		
		              			"<b>AirControl</b> = " + String.valueOf(getAirControl()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessageLocal.java263
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessageLocalImpl.java924
				    				}
				    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"BotId = " + String.valueOf(getBotId()
 	) + " | " + 
		              		
		              			"HealthStart = " + String.valueOf(getHealthStart()
 	) + " | " + 
		              		
		              			"HealthFull = " + String.valueOf(getHealthFull()
 	) + " | " + 
		              		
		              			"HealthMax = " + String.valueOf(getHealthMax()
 	) + " | " + 
		              		
		              			"AdrenalineStart = " + String.valueOf(getAdrenalineStart()
 	) + " | " + 
		              		
		              			"AdrenalineMax = " + String.valueOf(getAdrenalineMax()
 	) + " | " + 
		              		
		              			"ShieldStrengthStart = " + String.valueOf(getShieldStrengthStart()
 	) + " | " + 
		              		
		              			"ShieldStrengthMax = " + String.valueOf(getShieldStrengthMax()
 	) + " | " + 
		              		
		              			"MaxMultiJump = " + String.valueOf(getMaxMultiJump()
 	) + " | " + 
		              		
		              			"DamageScaling = " + String.valueOf(getDamageScaling()
 	) + " | " + 
		              		
		              			"GroundSpeed = " + String.valueOf(getGroundSpeed()
 	) + " | " + 
		              		
		              			"WaterSpeed = " + String.valueOf(getWaterSpeed()
 	) + " | " + 
		              		
		              			"AirSpeed = " + String.valueOf(getAirSpeed()
 	) + " | " + 
		              		
		              			"LadderSpeed = " + String.valueOf(getLadderSpeed()
 	) + " | " + 
		              		
		              			"AccelRate = " + String.valueOf(getAccelRate()
 	) + " | " + 
		              		
		              			"JumpZ = " + String.valueOf(getJumpZ()
 	) + " | " + 
		              		
		              			"MultiJumpBoost = " + String.valueOf(getMultiJumpBoost()
 	) + " | " + 
		              		
		              			"MaxFallSpeed = " + String.valueOf(getMaxFallSpeed()
 	) + " | " + 
		              		
		              			"DodgeSpeedFactor = " + String.valueOf(getDodgeSpeedFactor()
 	) + " | " + 
		              		
		              			"DodgeSpeedZ = " + String.valueOf(getDodgeSpeedZ()
 	) + " | " + 
		              		
		              			"AirControl = " + String.valueOf(getAirControl()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>BotId</b> = " + String.valueOf(getBotId()
 	) + " <br/> " + 
		              		
		              			"<b>HealthStart</b> = " + String.valueOf(getHealthStart()
 	) + " <br/> " + 
		              		
		              			"<b>HealthFull</b> = " + String.valueOf(getHealthFull()
 	) + " <br/> " + 
		              		
		              			"<b>HealthMax</b> = " + String.valueOf(getHealthMax()
 	) + " <br/> " + 
		              		
		              			"<b>AdrenalineStart</b> = " + String.valueOf(getAdrenalineStart()
 	) + " <br/> " + 
		              		
		              			"<b>AdrenalineMax</b> = " + String.valueOf(getAdrenalineMax()
 	) + " <br/> " + 
		              		
		              			"<b>ShieldStrengthStart</b> = " + String.valueOf(getShieldStrengthStart()
 	) + " <br/> " + 
		              		
		              			"<b>ShieldStrengthMax</b> = " + String.valueOf(getShieldStrengthMax()
 	) + " <br/> " + 
		              		
		              			"<b>MaxMultiJump</b> = " + String.valueOf(getMaxMultiJump()
 	) + " <br/> " + 
		              		
		              			"<b>DamageScaling</b> = " + String.valueOf(getDamageScaling()
 	) + " <br/> " + 
		              		
		              			"<b>GroundSpeed</b> = " + String.valueOf(getGroundSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>WaterSpeed</b> = " + String.valueOf(getWaterSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>AirSpeed</b> = " + String.valueOf(getAirSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>LadderSpeed</b> = " + String.valueOf(getLadderSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>AccelRate</b> = " + String.valueOf(getAccelRate()
 	) + " <br/> " + 
		              		
		              			"<b>JumpZ</b> = " + String.valueOf(getJumpZ()
 	) + " <br/> " + 
		              		
		              			"<b>MultiJumpBoost</b> = " + String.valueOf(getMultiJumpBoost()
 	) + " <br/> " + 
		              		
		              			"<b>MaxFallSpeed</b> = " + String.valueOf(getMaxFallSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>DodgeSpeedFactor</b> = " + String.valueOf(getDodgeSpeedFactor()
 	) + " <br/> " + 
		              		
		              			"<b>DodgeSpeedZ</b> = " + String.valueOf(getDodgeSpeedZ()
 	) + " <br/> " + 
		              		
		              			"<b>AirControl</b> = " + String.valueOf(getAirControl()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessage.java295
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessageMessage.java1199
		}
 	
 		
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"BotId = " + String.valueOf(getBotId()
 	) + " | " + 
		              		
		              			"HealthStart = " + String.valueOf(getHealthStart()
 	) + " | " + 
		              		
		              			"HealthFull = " + String.valueOf(getHealthFull()
 	) + " | " + 
		              		
		              			"HealthMax = " + String.valueOf(getHealthMax()
 	) + " | " + 
		              		
		              			"AdrenalineStart = " + String.valueOf(getAdrenalineStart()
 	) + " | " + 
		              		
		              			"AdrenalineMax = " + String.valueOf(getAdrenalineMax()
 	) + " | " + 
		              		
		              			"ShieldStrengthStart = " + String.valueOf(getShieldStrengthStart()
 	) + " | " + 
		              		
		              			"ShieldStrengthMax = " + String.valueOf(getShieldStrengthMax()
 	) + " | " + 
		              		
		              			"MaxMultiJump = " + String.valueOf(getMaxMultiJump()
 	) + " | " + 
		              		
		              			"DamageScaling = " + String.valueOf(getDamageScaling()
 	) + " | " + 
		              		
		              			"GroundSpeed = " + String.valueOf(getGroundSpeed()
 	) + " | " + 
		              		
		              			"WaterSpeed = " + String.valueOf(getWaterSpeed()
 	) + " | " + 
		              		
		              			"AirSpeed = " + String.valueOf(getAirSpeed()
 	) + " | " + 
		              		
		              			"LadderSpeed = " + String.valueOf(getLadderSpeed()
 	) + " | " + 
		              		
		              			"AccelRate = " + String.valueOf(getAccelRate()
 	) + " | " + 
		              		
		              			"JumpZ = " + String.valueOf(getJumpZ()
 	) + " | " + 
		              		
		              			"MultiJumpBoost = " + String.valueOf(getMultiJumpBoost()
 	) + " | " + 
		              		
		              			"MaxFallSpeed = " + String.valueOf(getMaxFallSpeed()
 	) + " | " + 
		              		
		              			"DodgeSpeedFactor = " + String.valueOf(getDodgeSpeedFactor()
 	) + " | " + 
		              		
		              			"DodgeSpeedZ = " + String.valueOf(getDodgeSpeedZ()
 	) + " | " + 
		              		
		              			"AirControl = " + String.valueOf(getAirControl()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>BotId</b> = " + String.valueOf(getBotId()
 	) + " <br/> " + 
		              		
		              			"<b>HealthStart</b> = " + String.valueOf(getHealthStart()
 	) + " <br/> " + 
		              		
		              			"<b>HealthFull</b> = " + String.valueOf(getHealthFull()
 	) + " <br/> " + 
		              		
		              			"<b>HealthMax</b> = " + String.valueOf(getHealthMax()
 	) + " <br/> " + 
		              		
		              			"<b>AdrenalineStart</b> = " + String.valueOf(getAdrenalineStart()
 	) + " <br/> " + 
		              		
		              			"<b>AdrenalineMax</b> = " + String.valueOf(getAdrenalineMax()
 	) + " <br/> " + 
		              		
		              			"<b>ShieldStrengthStart</b> = " + String.valueOf(getShieldStrengthStart()
 	) + " <br/> " + 
		              		
		              			"<b>ShieldStrengthMax</b> = " + String.valueOf(getShieldStrengthMax()
 	) + " <br/> " + 
		              		
		              			"<b>MaxMultiJump</b> = " + String.valueOf(getMaxMultiJump()
 	) + " <br/> " + 
		              		
		              			"<b>DamageScaling</b> = " + String.valueOf(getDamageScaling()
 	) + " <br/> " + 
		              		
		              			"<b>GroundSpeed</b> = " + String.valueOf(getGroundSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>WaterSpeed</b> = " + String.valueOf(getWaterSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>AirSpeed</b> = " + String.valueOf(getAirSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>LadderSpeed</b> = " + String.valueOf(getLadderSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>AccelRate</b> = " + String.valueOf(getAccelRate()
 	) + " <br/> " + 
		              		
		              			"<b>JumpZ</b> = " + String.valueOf(getJumpZ()
 	) + " <br/> " + 
		              		
		              			"<b>MultiJumpBoost</b> = " + String.valueOf(getMultiJumpBoost()
 	) + " <br/> " + 
		              		
		              			"<b>MaxFallSpeed</b> = " + String.valueOf(getMaxFallSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>DodgeSpeedFactor</b> = " + String.valueOf(getDodgeSpeedFactor()
 	) + " <br/> " + 
		              		
		              			"<b>DodgeSpeedZ</b> = " + String.valueOf(getDodgeSpeedZ()
 	) + " <br/> " + 
		              		
		              			"<b>AirControl</b> = " + String.valueOf(getAirControl()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/GameInfo.java292
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/GameInfoMessage.java1844
		}
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Gametype = " + String.valueOf(getGametype()
 	) + " | " + 
		              		
		              			"Level = " + String.valueOf(getLevel()
 	) + " | " + 
		              		
		              			"WeaponStay = " + String.valueOf(isWeaponStay()
 	) + " | " + 
		              		
		              			"TimeLimit = " + String.valueOf(getTimeLimit()
 	) + " | " + 
		              		
		              			"FragLimit = " + String.valueOf(getFragLimit()
 	) + " | " + 
		              		
		              			"GoalTeamScore = " + String.valueOf(getGoalTeamScore()
 	) + " | " + 
		              		
		              			"MaxTeams = " + String.valueOf(getMaxTeams()
 	) + " | " + 
		              		
		              			"MaxTeamSize = " + String.valueOf(getMaxTeamSize()
 	) + " | " + 
		              		
		              			"RedBaseLocation = " + String.valueOf(getRedBaseLocation()
 	) + " | " + 
		              		
		              			"BlueBaseLocation = " + String.valueOf(getBlueBaseLocation()
 	) + " | " + 
		              		
		              			"FirstDomPointLocation = " + String.valueOf(getFirstDomPointLocation()
 	) + " | " + 
		              		
		              			"SecondDomPointLocation = " + String.valueOf(getSecondDomPointLocation()
 	) + " | " + 
		              		
		              			"GamePaused = " + String.valueOf(isGamePaused()
 	) + " | " + 
		              		
		              			"BotsPaused = " + String.valueOf(isBotsPaused()
 	) + " | " + 
		              		
		              			"FactoryLocation = " + String.valueOf(getFactoryLocation()
 	) + " | " + 
		              		
		              			"FactoryRadius = " + String.valueOf(getFactoryRadius()
 	) + " | " + 
		              		
		              			"DisperserLocation = " + String.valueOf(getDisperserLocation()
 	) + " | " + 
		              		
		              			"DisperserRadius = " + String.valueOf(getDisperserRadius()
 	) + " | " + 
		              		
		              			"FactoryAdrenalineCount = " + String.valueOf(getFactoryAdrenalineCount()
 	) + " | " + 
		              		
		              			"FactorySpawnType = " + String.valueOf(getFactorySpawnType()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Gametype</b> = " + String.valueOf(getGametype()
 	) + " <br/> " + 
		              		
		              			"<b>Level</b> = " + String.valueOf(getLevel()
 	) + " <br/> " + 
		              		
		              			"<b>WeaponStay</b> = " + String.valueOf(isWeaponStay()
 	) + " <br/> " + 
		              		
		              			"<b>TimeLimit</b> = " + String.valueOf(getTimeLimit()
 	) + " <br/> " + 
		              		
		              			"<b>FragLimit</b> = " + String.valueOf(getFragLimit()
 	) + " <br/> " + 
		              		
		              			"<b>GoalTeamScore</b> = " + String.valueOf(getGoalTeamScore()
 	) + " <br/> " + 
		              		
		              			"<b>MaxTeams</b> = " + String.valueOf(getMaxTeams()
 	) + " <br/> " + 
		              		
		              			"<b>MaxTeamSize</b> = " + String.valueOf(getMaxTeamSize()
 	) + " <br/> " + 
		              		
		              			"<b>RedBaseLocation</b> = " + String.valueOf(getRedBaseLocation()
 	) + " <br/> " + 
		              		
		              			"<b>BlueBaseLocation</b> = " + String.valueOf(getBlueBaseLocation()
 	) + " <br/> " + 
		              		
		              			"<b>FirstDomPointLocation</b> = " + String.valueOf(getFirstDomPointLocation()
 	) + " <br/> " + 
		              		
		              			"<b>SecondDomPointLocation</b> = " + String.valueOf(getSecondDomPointLocation()
 	) + " <br/> " + 
		              		
		              			"<b>GamePaused</b> = " + String.valueOf(isGamePaused()
 	) + " <br/> " + 
		              		
		              			"<b>BotsPaused</b> = " + String.valueOf(isBotsPaused()
 	) + " <br/> " + 
		              		
		              			"<b>FactoryLocation</b> = " + String.valueOf(getFactoryLocation()
 	) + " <br/> " + 
		              		
		              			"<b>FactoryRadius</b> = " + String.valueOf(getFactoryRadius()
 	) + " <br/> " + 
		              		
		              			"<b>DisperserLocation</b> = " + String.valueOf(getDisperserLocation()
 	) + " <br/> " + 
		              		
		              			"<b>DisperserRadius</b> = " + String.valueOf(getDisperserRadius()
 	) + " <br/> " + 
		              		
		              			"<b>FactoryAdrenalineCount</b> = " + String.valueOf(getFactoryAdrenalineCount()
 	) + " <br/> " + 
		              		
		              			"<b>FactorySpawnType</b> = " + String.valueOf(getFactorySpawnType()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Player.java322
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerMessage.java1873
		}
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Jmx = " + String.valueOf(getJmx()
 	) + " | " + 
		              		
		              			"Name = " + String.valueOf(getName()
 	) + " | " + 
		              		
		              			"Spectator = " + String.valueOf(isSpectator()
 	) + " | " + 
		              		
		              			"Action = " + String.valueOf(getAction()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Weapon = " + String.valueOf(getWeapon()
 	) + " | " + 
		              		
		              			"Crouched = " + String.valueOf(isCrouched()
 	) + " | " + 
		              		
		              			"Firing = " + String.valueOf(getFiring()
 	) + " | " + 
		              		
		              			"EmotLeft = " + String.valueOf(getEmotLeft()
 	) + " | " + 
		              		
		              			"EmotCenter = " + String.valueOf(getEmotCenter()
 	) + " | " + 
		              		
		              			"EmotRight = " + String.valueOf(getEmotRight()
 	) + " | " + 
		              		
		              			"Bubble = " + String.valueOf(getBubble()
 	) + " | " + 
		              		
		              			"Anim = " + String.valueOf(getAnim()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Jmx</b> = " + String.valueOf(getJmx()
 	) + " <br/> " + 
		              		
		              			"<b>Name</b> = " + String.valueOf(getName()
 	) + " <br/> " + 
		              		
		              			"<b>Spectator</b> = " + String.valueOf(isSpectator()
 	) + " <br/> " + 
		              		
		              			"<b>Action</b> = " + String.valueOf(getAction()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Weapon</b> = " + String.valueOf(getWeapon()
 	) + " <br/> " + 
		              		
		              			"<b>Crouched</b> = " + String.valueOf(isCrouched()
 	) + " <br/> " + 
		              		
		              			"<b>Firing</b> = " + String.valueOf(getFiring()
 	) + " <br/> " + 
		              		
		              			"<b>EmotLeft</b> = " + String.valueOf(getEmotLeft()
 	) + " <br/> " + 
		              		
		              			"<b>EmotCenter</b> = " + String.valueOf(getEmotCenter()
 	) + " <br/> " + 
		              		
		              			"<b>EmotRight</b> = " + String.valueOf(getEmotRight()
 	) + " <br/> " + 
		              		
		              			"<b>Bubble</b> = " + String.valueOf(getBubble()
 	) + " <br/> " + 
		              		
		              			"<b>Anim</b> = " + String.valueOf(getAnim()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeLocal.java227
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeMessage.java1489
    (this.getStatic(), SimTime);
		}
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"BotId = " + String.valueOf(getBotId()
 	) + " | " + 
		              		
		              			"ManualSpawn = " + String.valueOf(isManualSpawn()
 	) + " | " + 
		              		
		              			"AutoTrace = " + String.valueOf(isAutoTrace()
 	) + " | " + 
		              		
		              			"Name = " + String.valueOf(getName()
 	) + " | " + 
		              		
		              			"SpeedMultiplier = " + String.valueOf(getSpeedMultiplier()
 	) + " | " + 
		              		
		              			"RotationRate = " + String.valueOf(getRotationRate()
 	) + " | " + 
		              		
		              			"Invulnerable = " + String.valueOf(isInvulnerable()
 	) + " | " + 
		              		
		              			"SelfUpdateTime = " + String.valueOf(getSelfUpdateTime()
 	) + " | " + 
		              		
		              			"VisionTime = " + String.valueOf(getVisionTime()
 	) + " | " + 
		              		
		              			"LocUpdateMultiplier = " + String.valueOf(getLocUpdateMultiplier()
 	) + " | " + 
		              		
		              			"ShowDebug = " + String.valueOf(isShowDebug()
 	) + " | " + 
		              		
		              			"ShowFocalPoint = " + String.valueOf(isShowFocalPoint()
 	) + " | " + 
		              		
		              			"DrawTraceLines = " + String.valueOf(isDrawTraceLines()
 	) + " | " + 
		              		
		              			"SynchronousOff = " + String.valueOf(isSynchronousOff()
 	) + " | " + 
		              		
		              			"AutoPickupOff = " + String.valueOf(isAutoPickupOff()
 	) + " | " + 
		              		
		              			"Action = " + String.valueOf(getAction()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>BotId</b> = " + String.valueOf(getBotId()
 	) + " <br/> " + 
		              		
		              			"<b>ManualSpawn</b> = " + String.valueOf(isManualSpawn()
 	) + " <br/> " + 
		              		
		              			"<b>AutoTrace</b> = " + String.valueOf(isAutoTrace()
 	) + " <br/> " + 
		              		
		              			"<b>Name</b> = " + String.valueOf(getName()
 	) + " <br/> " + 
		              		
		              			"<b>SpeedMultiplier</b> = " + String.valueOf(getSpeedMultiplier()
 	) + " <br/> " + 
		              		
		              			"<b>RotationRate</b> = " + String.valueOf(getRotationRate()
 	) + " <br/> " + 
		              		
		              			"<b>Invulnerable</b> = " + String.valueOf(isInvulnerable()
 	) + " <br/> " + 
		              		
		              			"<b>SelfUpdateTime</b> = " + String.valueOf(getSelfUpdateTime()
 	) + " <br/> " + 
		              		
		              			"<b>VisionTime</b> = " + String.valueOf(getVisionTime()
 	) + " <br/> " + 
		              		
		              			"<b>LocUpdateMultiplier</b> = " + String.valueOf(getLocUpdateMultiplier()
 	) + " <br/> " + 
		              		
		              			"<b>ShowDebug</b> = " + String.valueOf(isShowDebug()
 	) + " <br/> " + 
		              		
		              			"<b>ShowFocalPoint</b> = " + String.valueOf(isShowFocalPoint()
 	) + " <br/> " + 
		              		
		              			"<b>DrawTraceLines</b> = " + String.valueOf(isDrawTraceLines()
 	) + " <br/> " + 
		              		
		              			"<b>SynchronousOff</b> = " + String.valueOf(isSynchronousOff()
 	) + " <br/> " + 
		              		
		              			"<b>AutoPickupOff</b> = " + String.valueOf(isAutoPickupOff()
 	) + " <br/> " + 
		              		
		              			"<b>Action</b> = " + String.valueOf(getAction()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=base+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=base+classtype[@name=message]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChange.java257
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeLocalImpl.java939
				return data.getId();
			}
			
		}	
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"BotId = " + String.valueOf(getBotId()
 	) + " | " + 
		              		
		              			"ManualSpawn = " + String.valueOf(isManualSpawn()
 	) + " | " + 
		              		
		              			"AutoTrace = " + String.valueOf(isAutoTrace()
 	) + " | " + 
		              		
		              			"Name = " + String.valueOf(getName()
 	) + " | " + 
		              		
		              			"SpeedMultiplier = " + String.valueOf(getSpeedMultiplier()
 	) + " | " + 
		              		
		              			"RotationRate = " + String.valueOf(getRotationRate()
 	) + " | " + 
		              		
		              			"Invulnerable = " + String.valueOf(isInvulnerable()
 	) + " | " + 
		              		
		              			"SelfUpdateTime = " + String.valueOf(getSelfUpdateTime()
 	) + " | " + 
		              		
		              			"VisionTime = " + String.valueOf(getVisionTime()
 	) + " | " + 
		              		
		              			"LocUpdateMultiplier = " + String.valueOf(getLocUpdateMultiplier()
 	) + " | " + 
		              		
		              			"ShowDebug = " + String.valueOf(isShowDebug()
 	) + " | " + 
		              		
		              			"ShowFocalPoint = " + String.valueOf(isShowFocalPoint()
 	) + " | " + 
		              		
		              			"DrawTraceLines = " + String.valueOf(isDrawTraceLines()
 	) + " | " + 
		              		
		              			"SynchronousOff = " + String.valueOf(isSynchronousOff()
 	) + " | " + 
		              		
		              			"AutoPickupOff = " + String.valueOf(isAutoPickupOff()
 	) + " | " + 
		              		
		              			"Action = " + String.valueOf(getAction()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>BotId</b> = " + String.valueOf(getBotId()
 	) + " <br/> " + 
		              		
		              			"<b>ManualSpawn</b> = " + String.valueOf(isManualSpawn()
 	) + " <br/> " + 
		              		
		              			"<b>AutoTrace</b> = " + String.valueOf(isAutoTrace()
 	) + " <br/> " + 
		              		
		              			"<b>Name</b> = " + String.valueOf(getName()
 	) + " <br/> " + 
		              		
		              			"<b>SpeedMultiplier</b> = " + String.valueOf(getSpeedMultiplier()
 	) + " <br/> " + 
		              		
		              			"<b>RotationRate</b> = " + String.valueOf(getRotationRate()
 	) + " <br/> " + 
		              		
		              			"<b>Invulnerable</b> = " + String.valueOf(isInvulnerable()
 	) + " <br/> " + 
		              		
		              			"<b>SelfUpdateTime</b> = " + String.valueOf(getSelfUpdateTime()
 	) + " <br/> " + 
		              		
		              			"<b>VisionTime</b> = " + String.valueOf(getVisionTime()
 	) + " <br/> " + 
		              		
		              			"<b>LocUpdateMultiplier</b> = " + String.valueOf(getLocUpdateMultiplier()
 	) + " <br/> " + 
		              		
		              			"<b>ShowDebug</b> = " + String.valueOf(isShowDebug()
 	) + " <br/> " + 
		              		
		              			"<b>ShowFocalPoint</b> = " + String.valueOf(isShowFocalPoint()
 	) + " <br/> " + 
		              		
		              			"<b>DrawTraceLines</b> = " + String.valueOf(isDrawTraceLines()
 	) + " <br/> " + 
		              		
		              			"<b>SynchronousOff</b> = " + String.valueOf(isSynchronousOff()
 	) + " <br/> " + 
		              		
		              			"<b>AutoPickupOff</b> = " + String.valueOf(isAutoPickupOff()
 	) + " <br/> " + 
		              		
		              			"<b>Action</b> = " + String.valueOf(getAction()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeLocal.java228
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeLocalImpl.java942
				    				}
				    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"BotId = " + String.valueOf(getBotId()
 	) + " | " + 
		              		
		              			"ManualSpawn = " + String.valueOf(isManualSpawn()
 	) + " | " + 
		              		
		              			"AutoTrace = " + String.valueOf(isAutoTrace()
 	) + " | " + 
		              		
		              			"Name = " + String.valueOf(getName()
 	) + " | " + 
		              		
		              			"SpeedMultiplier = " + String.valueOf(getSpeedMultiplier()
 	) + " | " + 
		              		
		              			"RotationRate = " + String.valueOf(getRotationRate()
 	) + " | " + 
		              		
		              			"Invulnerable = " + String.valueOf(isInvulnerable()
 	) + " | " + 
		              		
		              			"SelfUpdateTime = " + String.valueOf(getSelfUpdateTime()
 	) + " | " + 
		              		
		              			"VisionTime = " + String.valueOf(getVisionTime()
 	) + " | " + 
		              		
		              			"LocUpdateMultiplier = " + String.valueOf(getLocUpdateMultiplier()
 	) + " | " + 
		              		
		              			"ShowDebug = " + String.valueOf(isShowDebug()
 	) + " | " + 
		              		
		              			"ShowFocalPoint = " + String.valueOf(isShowFocalPoint()
 	) + " | " + 
		              		
		              			"DrawTraceLines = " + String.valueOf(isDrawTraceLines()
 	) + " | " + 
		              		
		              			"SynchronousOff = " + String.valueOf(isSynchronousOff()
 	) + " | " + 
		              		
		              			"AutoPickupOff = " + String.valueOf(isAutoPickupOff()
 	) + " | " + 
		              		
		              			"Action = " + String.valueOf(getAction()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>BotId</b> = " + String.valueOf(getBotId()
 	) + " <br/> " + 
		              		
		              			"<b>ManualSpawn</b> = " + String.valueOf(isManualSpawn()
 	) + " <br/> " + 
		              		
		              			"<b>AutoTrace</b> = " + String.valueOf(isAutoTrace()
 	) + " <br/> " + 
		              		
		              			"<b>Name</b> = " + String.valueOf(getName()
 	) + " <br/> " + 
		              		
		              			"<b>SpeedMultiplier</b> = " + String.valueOf(getSpeedMultiplier()
 	) + " <br/> " + 
		              		
		              			"<b>RotationRate</b> = " + String.valueOf(getRotationRate()
 	) + " <br/> " + 
		              		
		              			"<b>Invulnerable</b> = " + String.valueOf(isInvulnerable()
 	) + " <br/> " + 
		              		
		              			"<b>SelfUpdateTime</b> = " + String.valueOf(getSelfUpdateTime()
 	) + " <br/> " + 
		              		
		              			"<b>VisionTime</b> = " + String.valueOf(getVisionTime()
 	) + " <br/> " + 
		              		
		              			"<b>LocUpdateMultiplier</b> = " + String.valueOf(getLocUpdateMultiplier()
 	) + " <br/> " + 
		              		
		              			"<b>ShowDebug</b> = " + String.valueOf(isShowDebug()
 	) + " <br/> " + 
		              		
		              			"<b>ShowFocalPoint</b> = " + String.valueOf(isShowFocalPoint()
 	) + " <br/> " + 
		              		
		              			"<b>DrawTraceLines</b> = " + String.valueOf(isDrawTraceLines()
 	) + " <br/> " + 
		              		
		              			"<b>SynchronousOff</b> = " + String.valueOf(isSynchronousOff()
 	) + " <br/> " + 
		              		
		              			"<b>AutoPickupOff</b> = " + String.valueOf(isAutoPickupOff()
 	) + " <br/> " + 
		              		
		              			"<b>Action</b> = " + String.valueOf(getAction()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChange.java260
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeMessage.java1013
		}
 	
 		
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"BotId = " + String.valueOf(getBotId()
 	) + " | " + 
		              		
		              			"ManualSpawn = " + String.valueOf(isManualSpawn()
 	) + " | " + 
		              		
		              			"AutoTrace = " + String.valueOf(isAutoTrace()
 	) + " | " + 
		              		
		              			"Name = " + String.valueOf(getName()
 	) + " | " + 
		              		
		              			"SpeedMultiplier = " + String.valueOf(getSpeedMultiplier()
 	) + " | " + 
		              		
		              			"RotationRate = " + String.valueOf(getRotationRate()
 	) + " | " + 
		              		
		              			"Invulnerable = " + String.valueOf(isInvulnerable()
 	) + " | " + 
		              		
		              			"SelfUpdateTime = " + String.valueOf(getSelfUpdateTime()
 	) + " | " + 
		              		
		              			"VisionTime = " + String.valueOf(getVisionTime()
 	) + " | " + 
		              		
		              			"LocUpdateMultiplier = " + String.valueOf(getLocUpdateMultiplier()
 	) + " | " + 
		              		
		              			"ShowDebug = " + String.valueOf(isShowDebug()
 	) + " | " + 
		              		
		              			"ShowFocalPoint = " + String.valueOf(isShowFocalPoint()
 	) + " | " + 
		              		
		              			"DrawTraceLines = " + String.valueOf(isDrawTraceLines()
 	) + " | " + 
		              		
		              			"SynchronousOff = " + String.valueOf(isSynchronousOff()
 	) + " | " + 
		              		
		              			"AutoPickupOff = " + String.valueOf(isAutoPickupOff()
 	) + " | " + 
		              		
		              			"Action = " + String.valueOf(getAction()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>BotId</b> = " + String.valueOf(getBotId()
 	) + " <br/> " + 
		              		
		              			"<b>ManualSpawn</b> = " + String.valueOf(isManualSpawn()
 	) + " <br/> " + 
		              		
		              			"<b>AutoTrace</b> = " + String.valueOf(isAutoTrace()
 	) + " <br/> " + 
		              		
		              			"<b>Name</b> = " + String.valueOf(getName()
 	) + " <br/> " + 
		              		
		              			"<b>SpeedMultiplier</b> = " + String.valueOf(getSpeedMultiplier()
 	) + " <br/> " + 
		              		
		              			"<b>RotationRate</b> = " + String.valueOf(getRotationRate()
 	) + " <br/> " + 
		              		
		              			"<b>Invulnerable</b> = " + String.valueOf(isInvulnerable()
 	) + " <br/> " + 
		              		
		              			"<b>SelfUpdateTime</b> = " + String.valueOf(getSelfUpdateTime()
 	) + " <br/> " + 
		              		
		              			"<b>VisionTime</b> = " + String.valueOf(getVisionTime()
 	) + " <br/> " + 
		              		
		              			"<b>LocUpdateMultiplier</b> = " + String.valueOf(getLocUpdateMultiplier()
 	) + " <br/> " + 
		              		
		              			"<b>ShowDebug</b> = " + String.valueOf(isShowDebug()
 	) + " <br/> " + 
		              		
		              			"<b>ShowFocalPoint</b> = " + String.valueOf(isShowFocalPoint()
 	) + " <br/> " + 
		              		
		              			"<b>DrawTraceLines</b> = " + String.valueOf(isDrawTraceLines()
 	) + " <br/> " + 
		              		
		              			"<b>SynchronousOff</b> = " + String.valueOf(isSynchronousOff()
 	) + " <br/> " + 
		              		
		              			"<b>AutoPickupOff</b> = " + String.valueOf(isAutoPickupOff()
 	) + " <br/> " + 
		              		
		              			"<b>Action</b> = " + String.valueOf(getAction()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/stuckdetector/AccUT2004PositionStuckDetector.java86
cz/cuni/amis/pogamut/ut2004/agent/navigation/stuckdetector/UT2004PositionStuckDetector.java85
	public UT2004PositionStuckDetector(UT2004Bot bot, int historyLength, double minMovementDiameter, double minMovementZ) {
		if (this.log == null) {
			this.log = bot.getLogger().getCategory(this.getClass().getSimpleName());
		}
		this.bot = bot;		
		selfListener = new SelfListener(bot.getWorldView());
		endMessageListener = new EndMessageListener(bot.getWorldView());
		
		this.historyLength = historyLength;
		
		if (this.historyLength < 0) throw new IllegalArgumentException("historyLength can't be < 0");
		
		this.minMovementDiameter = minMovementDiameter;
		this.minMovementZ = minMovementZ;
		
		this.locationHistory = new ArrayList<Location>(this.historyLength);		
	}
	
	@Override
	public void setEnabled(boolean state) {
		if (this.enabled == state) return;
		this.enabled = state;		
	}
		
	@Override
	public void setBotWaiting(boolean state) {
		this.botWaiting = state;
	}
	
	@Override
	public void setBotTarget(ILocated target) {
		// WE DO NOT CARE
	}
	
	public void eventSelf(IWorldObjectEvent<Self> event) {
		if (!enabled) return;
		if (botWaiting) return; // we're just waiting...
		
		locationHistory.add(event.getObject().getLocation());
		while (locationHistory.size() > historyLength) {
			locationHistory.remove(0);
		}
	}
	
	public void eventEndMessage(EndMessage event) {
		if (!enabled) return;
		if (botWaiting) return; // we're just waiting...
		
		if (locationHistory.size() == historyLength) {
			double maxDistance = Double.NEGATIVE_INFINITY;
			double maxHeight = Double.NEGATIVE_INFINITY;
			for (Location loc1 : locationHistory){
				for (Location loc2: locationHistory) {
					if (maxDistance < loc1.getDistance2D(loc2)) {
						maxDistance = loc1.getDistance2D(loc2);
					}
					if (Math.abs(loc1.z - loc2.z) > maxHeight) {
						maxHeight = Math.abs(loc1.z - loc2.z);
					}
				}
			}
			if (maxDistance < this.minMovementDiameter && maxHeight < this.minMovementZ) {
				if (log != null && log.isLoggable(Level.WARNING)) log.warning("Bot stuck detected. Distance: " + maxDistance + " < " + this.minMovementDiameter + " && Height: " + maxHeight + " < " + minMovementZ);
				stuck = true;
			} else {
				stuck = false;
			}
		}
	}

	
	@Override
	public boolean isStuck() {
		return stuck;
	}

	@Override
	public void reset() {
		if (log != null && log.isLoggable(Level.FINER)) log.finer("Reset.");
		this.locationHistory.clear();
		stuck = false;
	}

}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerMessage.java1577
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerSharedImpl.java626
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Name = " + String.valueOf(getName()
 	) + " | " + 
		              		
		              			"Spectator = " + String.valueOf(isSpectator()
 	) + " | " + 
		              		
		              			"Action = " + String.valueOf(getAction()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Weapon = " + String.valueOf(getWeapon()
 	) + " | " + 
		              		
		              			"Crouched = " + String.valueOf(isCrouched()
 	) + " | " + 
		              		
		              			"Firing = " + String.valueOf(getFiring()
 	) + " | " + 
		              		
		              			"EmotLeft = " + String.valueOf(getEmotLeft()
 	) + " | " + 
		              		
		              			"EmotCenter = " + String.valueOf(getEmotCenter()
 	) + " | " + 
		              		
		              			"EmotRight = " + String.valueOf(getEmotRight()
 	) + " | " + 
		              		
		              			"Bubble = " + String.valueOf(getBubble()
 	) + " | " + 
		              		
		              			"Anim = " + String.valueOf(getAnim()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Name</b> = " + String.valueOf(getName()
 	) + " <br/> " + 
		              		
		              			"<b>Spectator</b> = " + String.valueOf(isSpectator()
 	) + " <br/> " + 
		              		
		              			"<b>Action</b> = " + String.valueOf(getAction()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Weapon</b> = " + String.valueOf(getWeapon()
 	) + " <br/> " + 
		              		
		              			"<b>Crouched</b> = " + String.valueOf(isCrouched()
 	) + " <br/> " + 
		              		
		              			"<b>Firing</b> = " + String.valueOf(getFiring()
 	) + " <br/> " + 
		              		
		              			"<b>EmotLeft</b> = " + String.valueOf(getEmotLeft()
 	) + " <br/> " + 
		              		
		              			"<b>EmotCenter</b> = " + String.valueOf(getEmotCenter()
 	) + " <br/> " + 
		              		
		              			"<b>EmotRight</b> = " + String.valueOf(getEmotRight()
 	) + " <br/> " + 
		              		
		              			"<b>Bubble</b> = " + String.valueOf(getBubble()
 	) + " <br/> " + 
		              		
		              			"<b>Anim</b> = " + String.valueOf(getAnim()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerMessage.java1580
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerShared.java280
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Name = " + String.valueOf(getName()
 	) + " | " + 
		              		
		              			"Spectator = " + String.valueOf(isSpectator()
 	) + " | " + 
		              		
		              			"Action = " + String.valueOf(getAction()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Weapon = " + String.valueOf(getWeapon()
 	) + " | " + 
		              		
		              			"Crouched = " + String.valueOf(isCrouched()
 	) + " | " + 
		              		
		              			"Firing = " + String.valueOf(getFiring()
 	) + " | " + 
		              		
		              			"EmotLeft = " + String.valueOf(getEmotLeft()
 	) + " | " + 
		              		
		              			"EmotCenter = " + String.valueOf(getEmotCenter()
 	) + " | " + 
		              		
		              			"EmotRight = " + String.valueOf(getEmotRight()
 	) + " | " + 
		              		
		              			"Bubble = " + String.valueOf(getBubble()
 	) + " | " + 
		              		
		              			"Anim = " + String.valueOf(getAnim()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Name</b> = " + String.valueOf(getName()
 	) + " <br/> " + 
		              		
		              			"<b>Spectator</b> = " + String.valueOf(isSpectator()
 	) + " <br/> " + 
		              		
		              			"<b>Action</b> = " + String.valueOf(getAction()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Weapon</b> = " + String.valueOf(getWeapon()
 	) + " <br/> " + 
		              		
		              			"<b>Crouched</b> = " + String.valueOf(isCrouched()
 	) + " <br/> " + 
		              		
		              			"<b>Firing</b> = " + String.valueOf(getFiring()
 	) + " <br/> " + 
		              		
		              			"<b>EmotLeft</b> = " + String.valueOf(getEmotLeft()
 	) + " <br/> " + 
		              		
		              			"<b>EmotCenter</b> = " + String.valueOf(getEmotCenter()
 	) + " <br/> " + 
		              		
		              			"<b>EmotRight</b> = " + String.valueOf(getEmotRight()
 	) + " <br/> " + 
		              		
		              			"<b>Bubble</b> = " + String.valueOf(getBubble()
 	) + " <br/> " + 
		              		
		              			"<b>Anim</b> = " + String.valueOf(getAnim()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Mover.java262
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MoverMessage.java1282
		}
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
		              			"DamageTrig = " + String.valueOf(isDamageTrig()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
		              			"IsMoving = " + String.valueOf(isIsMoving()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"MoveTime = " + String.valueOf(getMoveTime()
 	) + " | " + 
		              		
		              			"OpenTime = " + String.valueOf(getOpenTime()
 	) + " | " + 
		              		
		              			"BasePos = " + String.valueOf(getBasePos()
 	) + " | " + 
		              		
		              			"BaseRot = " + String.valueOf(getBaseRot()
 	) + " | " + 
		              		
		              			"DelayTime = " + String.valueOf(getDelayTime()
 	) + " | " + 
		              		
		              			"State = " + String.valueOf(getState()
 	) + " | " + 
		              		
		              			"NavPointMarker = " + String.valueOf(getNavPointMarker()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
		              			"<b>DamageTrig</b> = " + String.valueOf(isDamageTrig()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
		              			"<b>IsMoving</b> = " + String.valueOf(isIsMoving()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>MoveTime</b> = " + String.valueOf(getMoveTime()
 	) + " <br/> " + 
		              		
		              			"<b>OpenTime</b> = " + String.valueOf(getOpenTime()
 	) + " <br/> " + 
		              		
		              			"<b>BasePos</b> = " + String.valueOf(getBasePos()
 	) + " <br/> " + 
		              		
		              			"<b>BaseRot</b> = " + String.valueOf(getBaseRot()
 	) + " <br/> " + 
		              		
		              			"<b>DelayTime</b> = " + String.valueOf(getDelayTime()
 	) + " <br/> " + 
		              		
		              			"<b>State</b> = " + String.valueOf(getState()
 	) + " <br/> " + 
		              		
		              			"<b>NavPointMarker</b> = " + String.valueOf(getNavPointMarker()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/stuckdetector/AccUT2004DistanceStuckDetector.java157
cz/cuni/amis/pogamut/ut2004/agent/navigation/stuckdetector/UT2004DistanceStuckDetector.java143
		double previousDistance = distanceHistory.get(distanceHistory.size()-2);
		
		boolean currentClosing = currentDistance < previousDistance;
		boolean currentDistancing = !currentClosing;
		
		if (closing == null) {
			// positionHistory.size() == 2
			closing = currentClosing;
			distancing = currentDistancing;
			closingCount = closing ? 1 : 0;
			distancingCount = distancing ? 1 : 0;
			return;
		}
		
		// WE HAVE ALL SET UP TO CHECK TARGET-APPROACHING-STUCK
		
		boolean previousClosing = closing;
		boolean previousDistancing = distancing;
		
		this.closing = currentClosing;
		this.distancing = currentDistancing;
		
		if (currentClosing) {
			// WE'RE CURRENTLY CLOSING TO TARGET
			if (previousClosing) {
				// AND WE'VE BEEN CLOSING PREVIOUSLY AS WELL
				// => all proceeds ok so far...				
			} else {
				++closingCount;
			}			
		} else {
			// WE'RE DISTANCING
			if (previousDistancing) {
				// AND WE'VE BEEN DISTANCING PREVIOUSLY AS WELL
				// ... hmmmmm
			} else {
				++distancingCount;
				if (distancingCount > 1) {
					if (log != null && log.isLoggable(Level.WARNING)) log.warning("Bot stuck detected, #closing " + closingCount + ", #distancing " + distancingCount); 
					stuck = true;
				}
			}
		}
		
		if (log != null && log.isLoggable(Level.FINER)) log.finer("TARGET APPROACHING STUCK DETECTOR");
		if (log != null && log.isLoggable(Level.FINER)) log.finer("  Current distance:    " + currentDistance);
		if (log != null && log.isLoggable(Level.FINER)) log.finer("  Current closing:     " + currentClosing);
		if (log != null && log.isLoggable(Level.FINER)) log.finer("  Current distancing:  " + currentDistancing);
		if (log != null && log.isLoggable(Level.FINER)) log.finer("  Previous closing:    " + previousClosing);
		if (log != null && log.isLoggable(Level.FINER)) log.finer("  Previous distancing: " + previousDistancing);
		if (log != null && log.isLoggable(Level.FINER)) log.finer("  Closing count:       " + closingCount);
		if (log != null && log.isLoggable(Level.FINER)) log.finer("  Distancing count:    " + distancingCount);
	}
	
	@Override
	public boolean isStuck() {
		return stuck;
	}

	@Override
	public void reset() {
		if (log != null && log.isLoggable(Level.FINER)) log.finer("Reset.");
		this.distanceHistory.clear();
		this.positionHistory.clear();
		closing = null;
		distancing = null;
		closingCount = 0;
		distancingCount = 0;
		stuck = false;
		botTarget = null;
		botWaiting = false;
	}

	

}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ItemMessage.java663
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ItemStatic.java127
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				ItemStatic obj = (ItemStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class ItemStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getNavPointId()
 	, obj.getNavPointId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property NavPointId on object class ItemStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getNavPoint()
 	, obj.getNavPoint()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property NavPoint on object class ItemStatic");
							return true;
						}
 					
 						if ( !(this.getAmount()
 	
 	 			== obj.getAmount()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Amount on object class ItemStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getType()
 	, obj.getType()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Type on object class ItemStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getDescriptor()
 	, obj.getDescriptor()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Descriptor on object class ItemStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"NavPointId = " + String.valueOf(getNavPointId()
 	) + " | " + 
		              		
		              			"Amount = " + String.valueOf(getAmount()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>NavPointId</b> = " + String.valueOf(getNavPointId()
 	) + " <br/> " + 
		              		
		              			"<b>Amount</b> = " + String.valueOf(getAmount()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ItemMessage.java660
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ItemStaticImpl.java396
		}
	
    
 		
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				ItemStatic obj = (ItemStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class ItemStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getNavPointId()
 	, obj.getNavPointId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property NavPointId on object class ItemStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getNavPoint()
 	, obj.getNavPoint()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property NavPoint on object class ItemStatic");
							return true;
						}
 					
 						if ( !(this.getAmount()
 	
 	 			== obj.getAmount()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Amount on object class ItemStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getType()
 	, obj.getType()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Type on object class ItemStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getDescriptor()
 	, obj.getDescriptor()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Descriptor on object class ItemStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"NavPointId = " + String.valueOf(getNavPointId()
 	) + " | " + 
		              		
		              			"Amount = " + String.valueOf(getAmount()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>NavPointId</b> = " + String.valueOf(getNavPointId()
 	) + " <br/> " + 
		              		
		              			"<b>Amount</b> = " + String.valueOf(getAmount()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/loquenavigator/LoqueNavigator.java1103
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigator.java1180
                return initDirectly(navigDestination);
            }
        }

        // well, we're still running
        return navigStage;
    }

    /*========================================================================*/
    /**
     * Enum of types of terminating navigation stages.
     */
    private enum TerminatingStageType {

        /**
         * Terminating with success.
         */
        SUCCESS(false),
        /**
         * Terminating with failure.
         */
        FAILURE(true);

        /**
         * Whether the terminating with failure.
         */
        public boolean failure;

        /**
         * Constructor.
         *
         * @param failure Whether the terminating with failure.
         */
        private TerminatingStageType(boolean failure) {
            this.failure = failure;
        }
    };

    /**
     * Enum of types of mover navigation stages.
     */
    private enum MoverStageType {

        /**
         * Waiting for mover.
         */
        WAITING,
        /**
         * Riding mover.
         */
        RIDING;
    };

    /**
     * Enum of types of mover navigation stages.
     */
    private enum TeleportStageType {

        /**
         * Next navpoint is a teleport
         */
        GOING_THROUGH;
    };

    /**
     * All stages the navigation can come to.
     */
    public enum Stage {

        /**
         * Running directly to the destination.
         */
        REACHING() {
                    protected Stage next() {
                        return this;
                    }
                },
        /**
         * Navigating along the path.
         */
        NAVIGATING() {
                    protected Stage next() {
                        return this;
                    }
                },
        /**
         * Waiting for a mover to arrive.
         */
        AWAITING_MOVER(MoverStageType.WAITING) {
                    protected Stage next() {
                        return RIDING_MOVER;
                    }
                },
        /**
         * Waiting for a mover to ferry.
         */
        RIDING_MOVER(MoverStageType.RIDING) {
                    protected Stage next() {
                        return NAVIGATING;
                    }
                },
        /**
         * Navigation cancelled by outer force.
         */
        CANCELED(TerminatingStageType.FAILURE) {
                    protected Stage next() {
                        return this;
                    }
                },
        /**
         * Navigation timeout reached.
         */
        TIMEOUT(TerminatingStageType.FAILURE) {
                    protected Stage next() {
                        return this;
                    }
                },
        /**
         * Navigation failed because of troublesome obstacles.
         */
        CRASHED(TerminatingStageType.FAILURE) {
                    protected Stage next() {
                        return this;
                    }
                },
        /**
         * Navigation finished successfully.
         */
        COMPLETED(TerminatingStageType.SUCCESS) {
                    protected Stage next() {
                        return this;
                    }
                },
        /**
         * We're going through the teleport.
         */
        TELEPORT(TeleportStageType.GOING_THROUGH) {
                    protected Stage next() {
                        return NAVIGATING;
                    }
                ;
        };
        

        /*====================================================================*/

        /**
         * Running through the mover.
         */
        private boolean mover;
        /**
         * Whether the nagivation is terminated.
         */
        public boolean terminated;
        /**
         * Whether the navigation has failed.
         */
        public boolean failure;
        /**
         * We're going through the teleport.
         */
        public boolean teleport;

        /*====================================================================*/
        /**
         * Constructor: Not finished, not failed
         */
        private Stage() {
            this.mover = false;
            this.teleport = false;
            this.terminated = false;
            this.failure = false;
        }

        private Stage(TeleportStageType type) {
            this.mover = false;
            this.teleport = true;
            this.failure = false;
            this.terminated = false;
        }

        /**
         * Constructor: mover.
         *
         * @param type Type of mover navigation stage.
         */
        private Stage(MoverStageType type) {
            this.mover = true;
            this.teleport = false;
            this.terminated = false;
            this.failure = false;
        }

        /**
         * Constructor: terminating.
         *
         * @param type Type of terminating navigation stage.
         */
        private Stage(TerminatingStageType type) {
            this.mover = false;
            this.teleport = false;
            this.terminated = true;
            this.failure = type.failure;
        }

        /*====================================================================*/
        /**
         * Retreives the next step of navigation sequence the stage belongs to.
         *
         * @return The next step of navigation sequence. Note: Some stages are
         * not part of any logical navigation sequence. In such cases, this
         * method simply returns the same stage.
         */
        protected abstract Stage next();

        /*====================================================================*/
        /**
         * Returns the first step of mover sequence.
         *
         * @return The first step of mover sequence.
         */
        protected static Stage FirstMoverStage() {
            return AWAITING_MOVER;
        }

        /**
         * Returns the first step of the teleporter sequence.
         *
         * @return
         */
        protected static Stage TeleporterStage() {
            return Stage.TELEPORT;
        }
    }

    /*========================================================================*/
    /**
     * Default: Loque Runner.
     */
    private IUT2004PathRunner runner;

    /*========================================================================*/
    /**
     * Agent's main.
     */
    protected UT2004Bot main;
    /**
     * Loque memory.
     */
    protected AgentInfo memory;
    /**
     * Agent's body.
     */
    protected AdvancedLocomotion body;
    /**
     * Agent's log.
     */
    protected Logger log;


    /**
     * Constructor.
     *
     * @param bot
     * @param move
     * @param info
     * @param runner
     * @param log
     */
    public NavMeshNavigator(UT2004Bot bot, AgentInfo info, AdvancedLocomotion move, IUT2004PathRunner runner, Logger log) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ItemStatic.java127
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ItemStaticImpl.java400
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				ItemStatic obj = (ItemStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class ItemStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getNavPointId()
 	, obj.getNavPointId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property NavPointId on object class ItemStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getNavPoint()
 	, obj.getNavPoint()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property NavPoint on object class ItemStatic");
							return true;
						}
 					
 						if ( !(this.getAmount()
 	
 	 			== obj.getAmount()
 	) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Amount on object class ItemStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getType()
 	, obj.getType()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Type on object class ItemStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getDescriptor()
 	, obj.getDescriptor()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Descriptor on object class ItemStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"NavPointId = " + String.valueOf(getNavPointId()
 	) + " | " + 
		              		
		              			"Amount = " + String.valueOf(getAmount()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>NavPointId</b> = " + String.valueOf(getNavPointId()
 	) + " <br/> " + 
		              		
		              			"<b>Amount</b> = " + String.valueOf(getAmount()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/stuckdetector/AccUT2004DistanceStuckDetector.java78
cz/cuni/amis/pogamut/ut2004/agent/navigation/stuckdetector/UT2004DistanceStuckDetector.java78
		if (this.historyLength < 0) throw new IllegalArgumentException("historyLength can't be < 0");
		
		this.distanceHistory = new ArrayList<Double>(this.historyLength);
		this.positionHistory = new ArrayList<Location>(this.historyLength);
	}
	
	@Override
	public void setEnabled(boolean state) {
		if (this.enabled == state) return;
		this.enabled = state;		
	}
		
	@Override
	public void setBotWaiting(boolean state) {
		this.botWaiting = state;
		if (this.botWaiting) {
			Location botTarget = this.botTarget;
			reset();
			this.botTarget = botTarget;
		}
	}
	
	@Override
	public void setBotTarget(ILocated target) {
		if (this.botTarget != null) {
			if (log != null && log.isLoggable(Level.FINER)) log.finer("TARGET APPROACHING STUCK DETECTOR - previous stats:");
			if (log != null && log.isLoggable(Level.FINER)) log.finer("  Closing count:              " + closingCount);
			if (log != null && log.isLoggable(Level.FINER)) log.finer("  Distancing count:           " + distancingCount);
			
			if (closingCount > 1) ++totalClosingCountMoreThanOne;
			if (distancingCount > 1) ++totalDistancingCountMoreThanOne;
			
			if (log != null && log.isLoggable(Level.FINER)) log.finer("  Total closing count > 1:    " + totalClosingCountMoreThanOne);
			if (log != null && log.isLoggable(Level.FINER)) log.finer("  Total distancing count > 1: " + totalDistancingCountMoreThanOne);
		}
		
		boolean botWaiting = this.botWaiting;
		reset();
		this.botWaiting = botWaiting;
		
		if (target == null || target instanceof Player) {
			this.botTarget = null;
		} else {
			this.botTarget = target.getLocation();
		}
		if (this.botTarget == null) {
			stuck = false;
		}
	}
	
	public void eventSelf(IWorldObjectEvent<Self> event) {
		if (!enabled) return;   // not enabled
		if (botWaiting) return; // we're just waiting...
		
		if (botTarget == null) return; // nothing to watch over
		
		Location currentLocation = event.getObject().getLocation();
		double currentDistance = currentLocation.getDistance(botTarget);
		
		positionHistory.add(currentLocation);
		distanceHistory.add(currentDistance);
		
		if (positionHistory.size() == 1) return; // not enought info yet
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Vehicle.java259
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/VehicleMessage.java1258
		}
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Health = " + String.valueOf(getHealth()
 	) + " | " + 
		              		
		              			"Armor = " + String.valueOf(getArmor()
 	) + " | " + 
		              		
		              			"Driver = " + String.valueOf(getDriver()
 	) + " | " + 
		              		
		              			"TeamLocked = " + String.valueOf(isTeamLocked()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Health</b> = " + String.valueOf(getHealth()
 	) + " <br/> " + 
		              		
		              			"<b>Armor</b> = " + String.valueOf(getArmor()
 	) + " <br/> " + 
		              		
		              			"<b>Driver</b> = " + String.valueOf(getDriver()
 	) + " <br/> " + 
		              		
		              			"<b>TeamLocked</b> = " + String.valueOf(isTeamLocked()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/UT2004PathExecutor.java165
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/UT2004AcceleratedPathExecutor.java198
            navigator.pathExtended(newPath, pathElementIndex);
        }
    }

    /**
     * Merges path together.
     *
     * @param currPath
     * @param currIndex
     * @param morePath
     * @return
     */
    protected Tuple2<List<PATH_ELEMENT>, Integer> mergePath(List<PATH_ELEMENT> currPath, int currIndex, List<PATH_ELEMENT> morePath) {
        PATH_ELEMENT currPathElement = (currIndex >= 0 && currIndex < currPath.size() ? currPath.get(currIndex) : null);
        PATH_ELEMENT lastCurrPathElement = currPath.get(currPath.size() - 1);
        PATH_ELEMENT firstMorePathElement = morePath.get(0);
        boolean mergeFirst = lastCurrPathElement.getLocation().getDistance(firstMorePathElement.getLocation()) < 50;
        int cutOffIndex = (currIndex > PATH_MERGE_CUTOFF ? currIndex - PATH_MERGE_CUTOFF : 0);
        int newPathSize = currPath.size() - cutOffIndex + morePath.size() + (mergeFirst ? -1 : 0);
        List<PATH_ELEMENT> mergedPath = new ArrayList<PATH_ELEMENT>(newPathSize);
        int mergedIndex = currIndex - cutOffIndex;

        for (int i = cutOffIndex; i < currPath.size(); ++i) {
            PATH_ELEMENT element = currPath.get(i);
            mergedPath.add(element);
//			if (mergedIndex < 0 && element == currPathElement) mergedIndex = mergedPath.size()-1;
        }
        for (int i = (mergeFirst ? 1 : 0); i < morePath.size(); ++i) {
            PATH_ELEMENT element = morePath.get(i);
            mergedPath.add(element);
//			if (mergedIndex < 0 && element == currPathElement) mergedIndex = mergedPath.size()-1;
        }

        return new Tuple2<List<PATH_ELEMENT>, Integer>(mergedPath, mergedIndex);
    }

    @Override
    public NavPointNeighbourLink getCurrentLink() {
        return navigator.getCurrentLink();
    }

    @Override
    protected void stopped() {
    }

    @Override
    protected void followPathImpl() {
    }

    /**
     * If the path is not zero-length, recalls
     * {@link IUT2004PathNavigator#newPath(List)} and set the path into the
     * GB2004 via {@link SetRoute}.
     */
    @Override
    protected void pathComputedImpl() {
        if (getPath().isEmpty()) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/support/ObserverListState.java44
cz/cuni/amis/pogamut/ut2004/communication/translator/server/support/ServerListState.java44
	public ServerListState(Class beginMessage, Class<MESSAGE> message, Class endMessage) {
		this.beginMessage = beginMessage;
		this.message = message;
		this.endMessage = endMessage;
	}
	
	protected List<MESSAGE> getList() {
		return messages;
	}
	
	protected void newList() {
		messages = new ArrayList<MESSAGE>();
	}

	@Override
	public void init(CONTEXT context) {
		messages = new ArrayList<MESSAGE>();
	}

	@Override
	public void restart(CONTEXT context) {
		messages = new ArrayList<MESSAGE>();
	}

	@Override
	public void stateEntering(CONTEXT context, IFSMState<InfoMessage, CONTEXT> fromState, InfoMessage symbol) {
		if (!symbol.getClass().equals(beginMessage)) throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, beginMessage), context.getLogger(), this);
	}

	@Override
	public void stateLeaving(CONTEXT context,
			IFSMState<InfoMessage, CONTEXT> toState, InfoMessage symbol) {
		if (!symbol.getClass().equals(endMessage)) throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, endMessage), context.getLogger(), this);		
	}

	@Override
	protected void innerStateSymbol(CONTEXT context, InfoMessage symbol) {
		if (!symbol.getClass().equals(message)) {
			if (!message.isAssignableFrom(symbol.getClass())) {
				throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, message), context.getLogger(), this);
			}
		}
		messages.add(message.cast(symbol));
		
	}

}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRayLocal.java176
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRayMessage.java1082
    (this.getStatic(), SimTime);
		}
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"From = " + String.valueOf(getFrom()
 	) + " | " + 
		              		
		              			"To = " + String.valueOf(getTo()
 	) + " | " + 
		              		
		              			"FastTrace = " + String.valueOf(isFastTrace()
 	) + " | " + 
		              		
		              			"FloorCorrection = " + String.valueOf(isFloorCorrection()
 	) + " | " + 
		              		
		              			"Result = " + String.valueOf(isResult()
 	) + " | " + 
		              		
		              			"HitNormal = " + String.valueOf(getHitNormal()
 	) + " | " + 
		              		
		              			"HitLocation = " + String.valueOf(getHitLocation()
 	) + " | " + 
		              		
		              			"TraceActors = " + String.valueOf(isTraceActors()
 	) + " | " + 
		              		
		              			"HitId = " + String.valueOf(getHitId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>From</b> = " + String.valueOf(getFrom()
 	) + " <br/> " + 
		              		
		              			"<b>To</b> = " + String.valueOf(getTo()
 	) + " <br/> " + 
		              		
		              			"<b>FastTrace</b> = " + String.valueOf(isFastTrace()
 	) + " <br/> " + 
		              		
		              			"<b>FloorCorrection</b> = " + String.valueOf(isFloorCorrection()
 	) + " <br/> " + 
		              		
		              			"<b>Result</b> = " + String.valueOf(isResult()
 	) + " <br/> " + 
		              		
		              			"<b>HitNormal</b> = " + String.valueOf(getHitNormal()
 	) + " <br/> " + 
		              		
		              			"<b>HitLocation</b> = " + String.valueOf(getHitLocation()
 	) + " <br/> " + 
		              		
		              			"<b>TraceActors</b> = " + String.valueOf(isTraceActors()
 	) + " <br/> " + 
		              		
		              			"<b>HitId</b> = " + String.valueOf(getHitId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=base+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=base+classtype[@name=message]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRay.java206
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRayLocalImpl.java645
				return data.getId();
			}
			
		}	
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"From = " + String.valueOf(getFrom()
 	) + " | " + 
		              		
		              			"To = " + String.valueOf(getTo()
 	) + " | " + 
		              		
		              			"FastTrace = " + String.valueOf(isFastTrace()
 	) + " | " + 
		              		
		              			"FloorCorrection = " + String.valueOf(isFloorCorrection()
 	) + " | " + 
		              		
		              			"Result = " + String.valueOf(isResult()
 	) + " | " + 
		              		
		              			"HitNormal = " + String.valueOf(getHitNormal()
 	) + " | " + 
		              		
		              			"HitLocation = " + String.valueOf(getHitLocation()
 	) + " | " + 
		              		
		              			"TraceActors = " + String.valueOf(isTraceActors()
 	) + " | " + 
		              		
		              			"HitId = " + String.valueOf(getHitId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>From</b> = " + String.valueOf(getFrom()
 	) + " <br/> " + 
		              		
		              			"<b>To</b> = " + String.valueOf(getTo()
 	) + " <br/> " + 
		              		
		              			"<b>FastTrace</b> = " + String.valueOf(isFastTrace()
 	) + " <br/> " + 
		              		
		              			"<b>FloorCorrection</b> = " + String.valueOf(isFloorCorrection()
 	) + " <br/> " + 
		              		
		              			"<b>Result</b> = " + String.valueOf(isResult()
 	) + " <br/> " + 
		              		
		              			"<b>HitNormal</b> = " + String.valueOf(getHitNormal()
 	) + " <br/> " + 
		              		
		              			"<b>HitLocation</b> = " + String.valueOf(getHitLocation()
 	) + " <br/> " + 
		              		
		              			"<b>TraceActors</b> = " + String.valueOf(isTraceActors()
 	) + " <br/> " + 
		              		
		              			"<b>HitId</b> = " + String.valueOf(getHitId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRayLocal.java177
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRayMessage.java689
				    				}
				    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"From = " + String.valueOf(getFrom()
 	) + " | " + 
		              		
		              			"To = " + String.valueOf(getTo()
 	) + " | " + 
		              		
		              			"FastTrace = " + String.valueOf(isFastTrace()
 	) + " | " + 
		              		
		              			"FloorCorrection = " + String.valueOf(isFloorCorrection()
 	) + " | " + 
		              		
		              			"Result = " + String.valueOf(isResult()
 	) + " | " + 
		              		
		              			"HitNormal = " + String.valueOf(getHitNormal()
 	) + " | " + 
		              		
		              			"HitLocation = " + String.valueOf(getHitLocation()
 	) + " | " + 
		              		
		              			"TraceActors = " + String.valueOf(isTraceActors()
 	) + " | " + 
		              		
		              			"HitId = " + String.valueOf(getHitId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>From</b> = " + String.valueOf(getFrom()
 	) + " <br/> " + 
		              		
		              			"<b>To</b> = " + String.valueOf(getTo()
 	) + " <br/> " + 
		              		
		              			"<b>FastTrace</b> = " + String.valueOf(isFastTrace()
 	) + " <br/> " + 
		              		
		              			"<b>FloorCorrection</b> = " + String.valueOf(isFloorCorrection()
 	) + " <br/> " + 
		              		
		              			"<b>Result</b> = " + String.valueOf(isResult()
 	) + " <br/> " + 
		              		
		              			"<b>HitNormal</b> = " + String.valueOf(getHitNormal()
 	) + " <br/> " + 
		              		
		              			"<b>HitLocation</b> = " + String.valueOf(getHitLocation()
 	) + " <br/> " + 
		              		
		              			"<b>TraceActors</b> = " + String.valueOf(isTraceActors()
 	) + " <br/> " + 
		              		
		              			"<b>HitId</b> = " + String.valueOf(getHitId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/IncomingProjectile.java249
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/IncomingProjectileMessage.java1179
		}
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"ImpactTime = " + String.valueOf(getImpactTime()
 	) + " | " + 
		              		
		              			"Direction = " + String.valueOf(getDirection()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Speed = " + String.valueOf(getSpeed()
 	) + " | " + 
		              		
		              			"Origin = " + String.valueOf(getOrigin()
 	) + " | " + 
		              		
		              			"DamageRadius = " + String.valueOf(getDamageRadius()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>ImpactTime</b> = " + String.valueOf(getImpactTime()
 	) + " <br/> " + 
		              		
		              			"<b>Direction</b> = " + String.valueOf(getDirection()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Speed</b> = " + String.valueOf(getSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>Origin</b> = " + String.valueOf(getOrigin()
 	) + " <br/> " + 
		              		
		              			"<b>DamageRadius</b> = " + String.valueOf(getDamageRadius()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRay.java209
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRayMessage.java689
		}
 	
 		
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"From = " + String.valueOf(getFrom()
 	) + " | " + 
		              		
		              			"To = " + String.valueOf(getTo()
 	) + " | " + 
		              		
		              			"FastTrace = " + String.valueOf(isFastTrace()
 	) + " | " + 
		              		
		              			"FloorCorrection = " + String.valueOf(isFloorCorrection()
 	) + " | " + 
		              		
		              			"Result = " + String.valueOf(isResult()
 	) + " | " + 
		              		
		              			"HitNormal = " + String.valueOf(getHitNormal()
 	) + " | " + 
		              		
		              			"HitLocation = " + String.valueOf(getHitLocation()
 	) + " | " + 
		              		
		              			"TraceActors = " + String.valueOf(isTraceActors()
 	) + " | " + 
		              		
		              			"HitId = " + String.valueOf(getHitId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>From</b> = " + String.valueOf(getFrom()
 	) + " <br/> " + 
		              		
		              			"<b>To</b> = " + String.valueOf(getTo()
 	) + " <br/> " + 
		              		
		              			"<b>FastTrace</b> = " + String.valueOf(isFastTrace()
 	) + " <br/> " + 
		              		
		              			"<b>FloorCorrection</b> = " + String.valueOf(isFloorCorrection()
 	) + " <br/> " + 
		              		
		              			"<b>Result</b> = " + String.valueOf(isResult()
 	) + " <br/> " + 
		              		
		              			"<b>HitNormal</b> = " + String.valueOf(getHitNormal()
 	) + " <br/> " + 
		              		
		              			"<b>HitLocation</b> = " + String.valueOf(getHitLocation()
 	) + " <br/> " + 
		              		
		              			"<b>TraceActors</b> = " + String.valueOf(isTraceActors()
 	) + " <br/> " + 
		              		
		              			"<b>HitId</b> = " + String.valueOf(getHitId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/bot/state/NavPointListState.java44
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/state/NavPointListState.java47
public class NavPointListState extends AbstractObserverFSMState<InfoMessage, TranslatorContext> {
	
	private boolean begun = false;
	
	private Map<UnrealId, NavPoint> navPoints = new HashMap<UnrealId, NavPoint>();
	
	private Map<UnrealId, List<NavPointNeighbourLink>> neighbours = new HashMap<UnrealId, List<NavPointNeighbourLink>>();
	
	private NavPoint currentNavPoint = null;

	public NavPointListState() {
	}
	
	@Override
	public void stateEntering(TranslatorContext context, IFSMState<InfoMessage, TranslatorContext> fromState, InfoMessage symbol) {
		if (!begun) {
			if (!symbol.getClass().equals(NavPointListStart.class)) throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, NavPointListStart.class), context.getLogger(), this);
			begun = true;
			return;
		}		
		if (!symbol.getClass().equals(NavPointNeighbourLinkEnd.class)) throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, NavPointNeighbourLinkEnd.class), context.getLogger(), this);
		navPoints.put(currentNavPoint.getId(), currentNavPoint);
		neighbours.put(currentNavPoint.getId(), context.getNeighbours());
	}
	
	@Override
	public void stateLeaving(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
		if (symbol.getClass().equals(NavPointNeighbourLinkStart.class)) return;	
		if (!symbol.getClass().equals(NavPointListEnd.class)) throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, NavPointListEnd.class), context.getLogger(), this);
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/UT2004Navigation.java573
cz/cuni/amis/pogamut/ut2004/agent/navigation/UT2004Navigation.java749
		}
		
		// PATH EXECUTOR IS NOT RUNNING
		// => we have not started to run along path yet

		// ARE WE ON NAV-GRAPH?
		
		if (!getBackToNavGraph.isOnNavGraph()) {
			// NO!
			// => get back to navigation graph
			if (log != null && log.isLoggable(Level.FINE)) log.fine("Getting back to navigation graph");
			if (getBackToNavGraph.isExecuting()) {
				// nothing to see go along
				return;
			}
			if (usingGetBackToNavGraph) {
    			// GetBackToNavGraph was already called && stopped && we're still not on nav graph
    			// => stuck
				if (log != null && log.isLoggable(Level.WARNING)) log.warning("UT2004Navigation:stuck(). GetBackToNavGraph was already called && stopped && we're still not on nav graph.");
    			stuck();
    			return;
    		}
    		getBackToNavGraph.backToNavGraph();
    		// => mark that we're using GetBackToNavGraph
    		usingGetBackToNavGraph = true;			
    		return;
    	} else {
    		usingGetBackToNavGraph = false;
    	}
		// YES, WE'RE ON NAV-GRAPH!  	
    	// ... getBackToNavGraph will auto-terminate itself when we manage to get back to graph
    	
		if (currentPathFuture == null) {
			fromNavPoint = getNearestNavPoint(bot.getLocation());
			toNavPoint   = getNearestNavPoint(currentTarget);
    	
			if (log != null && log.isLoggable(Level.FINE)) log.fine("Computing path from " + fromNavPoint.getId().getStringId() + " to " + toNavPoint.getId().getStringId());
    	
			currentPathFuture = pathPlanner.computePath(fromNavPoint, toNavPoint);
		}
		
		switch(currentPathFuture.getStatus()) {
		case FUTURE_IS_READY:
			// ALL OK!
			break;
		case FUTURE_IS_BEING_COMPUTED:
			if (log != null && log.isLoggable(Level.FINE)) log.fine("Waiting for the path to be computed...");
			return;
		case CANCELED:
			if (log != null && log.isLoggable(Level.WARNING)) log.warning("Path computation has been canceled.");
			noPath();
			return;
		case COMPUTATION_EXCEPTION:
			if (log != null && log.isLoggable(Level.WARNING)) log.warning("Path computation has failed with an exception.");
			noPath();
			return;		
		}
		
		// PATH IS READY!
    	// => tinker the path
		if (!processPathFuture(currentPathFuture, currentTarget)) {
    		noPath();
    		return;
    	}
    	// => let's start running
    	pathExecutor.followPath(currentPathFuture);	
	}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/HearNoise.java114
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/HearPickup.java107
		public HearPickup(HearPickup original) {		
			
					this.Source = original.getSource()
 	;
				
					this.Type = original.getType()
 	;
				
					this.Rotation = original.getRotation()
 	;
				
					this.Distance = original.getDistance()
 	;
				
			this.SimTime = original.getSimTime();			
		}
		
	   		
			protected long SimTime;
				
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */	
			@Override
			public long getSimTime() {
				return SimTime;
			}
						
			/**
			 * Used by Yylex to slip correct time of the object or programmatically.
			 */
			protected void setSimTime(long SimTime) {
				this.SimTime = SimTime;
			}
	   	
    	
	    /**
         * Unique Id of an object picked up. 
         */
        protected
         UnrealId Source =
       	null;
	
 		/**
         * Unique Id of an object picked up. 
         */
        public  UnrealId getSource()
 	 {
    					return Source;
    				}
    			
    	
	    /**
         * Class of the picked up actor. 
         */
        protected
         String Type =
       	null;
	
 		/**
         * Class of the picked up actor. 
         */
        public  String getType()
 	 {
    					return Type;
    				}
    			
    	
	    /**
         * 
			How should bot rotate if it would like to be in the
			direction of the pickuped actor
		 
         */
        protected
         Rotation Rotation =
       	null;
	
 		/**
         * 
			How should bot rotate if it would like to be in the
			direction of the pickuped actor
		 
         */
        public  Rotation getRotation()
 	 {
    					return Rotation;
    				}
    			
    	
	    /**
         * 
			How far the noise source is. 
		 
         */
        protected
         double Distance =
       	0;
	
 		/**
         * 
			How far the noise source is. 
		 
         */
        public  double getDistance()
 	 {
    					return Distance;
    				}
    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Source = " + String.valueOf(getSource()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"Distance = " + String.valueOf(getDistance()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Source</b> = " + String.valueOf(getSource()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>Distance</b> = " + String.valueOf(getDistance()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 	    public String toJsonLiteral() {
            return "hearpickup( "
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/GlobalChat.java105
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamChat.java105
		public TeamChat(TeamChat original) {		
			
					this.Id = original.getId()
 	;
				
					this.Name = original.getName()
 	;
				
					this.ControlServer = original.isControlServer()
 	;
				
					this.Text = original.getText()
 	;
				
			this.SimTime = original.getSimTime();			
		}
		
	   		
			protected long SimTime;
				
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */	
			@Override
			public long getSimTime() {
				return SimTime;
			}
						
			/**
			 * Used by Yylex to slip correct time of the object or programmatically.
			 */
			protected void setSimTime(long SimTime) {
				this.SimTime = SimTime;
			}
	   	
    	
	    /**
         * 
			Unique UnrealId of the sender.
		 
         */
        protected
         UnrealId Id =
       	null;
	
 		/**
         * 
			Unique UnrealId of the sender.
		 
         */
        public  UnrealId getId()
 	 {
    					return Id;
    				}
    			
    	
	    /**
         * 
			Human readable name of the sender.
		 
         */
        protected
         String Name =
       	null;
	
 		/**
         * 
			Human readable name of the sender.
		 
         */
        public  String getName()
 	 {
    					return Name;
    				}
    			
    	
	    /**
         * 
			True if this message was sent by control server - in that case the id will be id of control server (that has no physical appearance in the game).
		 
         */
        protected
         Boolean ControlServer =
       	null;
	
 		/**
         * 
			True if this message was sent by control server - in that case the id will be id of control server (that has no physical appearance in the game).
		 
         */
        public  Boolean isControlServer()
 	 {
    					return ControlServer;
    				}
    			
    	
	    /**
         * 
			A human readable message sent by a team mate in the game on
			the private team channel.
		 
         */
        protected
         String Text =
       	null;
	
 		/**
         * 
			A human readable message sent by a team mate in the game on
			the private team channel.
		 
         */
        public  String getText()
 	 {
    					return Text;
    				}
    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Name = " + String.valueOf(getName()
 	) + " | " + 
		              		
		              			"ControlServer = " + String.valueOf(isControlServer()
 	) + " | " + 
		              		
		              			"Text = " + String.valueOf(getText()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Name</b> = " + String.valueOf(getName()
 	) + " <br/> " + 
		              		
		              			"<b>ControlServer</b> = " + String.valueOf(isControlServer()
 	) + " <br/> " + 
		              		
		              			"<b>Text</b> = " + String.valueOf(getText()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 	    public String toJsonLiteral() {
            return "teamchat( "
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfLocalImpl.java307
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfLocalImpl.java404
		public SelfLocalImpl(SelfLocalImpl original) {		
			
					this.Id = original.getId()
 	;
				
					this.BotId = original.getBotId()
 	;
				
					this.Name = original.getName()
 	;
				
					this.Vehicle = original.isVehicle()
 	;
				
					this.Location = original.getLocation()
 	;
				
					this.Velocity = original.getVelocity()
 	;
				
					this.Rotation = original.getRotation()
 	;
				
					this.Team = original.getTeam()
 	;
				
					this.Weapon = original.getWeapon()
 	;
				
					this.Shooting = original.isShooting()
 	;
				
					this.Health = original.getHealth()
 	;
				
					this.PrimaryAmmo = original.getPrimaryAmmo()
 	;
				
					this.SecondaryAmmo = original.getSecondaryAmmo()
 	;
				
					this.Adrenaline = original.getAdrenaline()
 	;
				
					this.Armor = original.getArmor()
 	;
				
					this.SmallArmor = original.getSmallArmor()
 	;
				
					this.AltFiring = original.isAltFiring()
 	;
				
					this.Crouched = original.isCrouched()
 	;
				
					this.Walking = original.isWalking()
 	;
				
					this.FloorLocation = original.getFloorLocation()
 	;
				
					this.FloorNormal = original.getFloorNormal()
 	;
				
					this.Combo = original.getCombo()
 	;
				
					this.UDamageTime = original.getUDamageTime()
 	;
				
					this.Action = original.getAction()
 	;
				
					this.EmotLeft = original.getEmotLeft()
 	;
				
					this.EmotCenter = original.getEmotCenter()
 	;
				
					this.EmotRight = original.getEmotRight()
 	;
				
					this.Bubble = original.getBubble()
 	;
				
					this.Anim = original.getAnim()
 	;
				
			this.SimTime = original.getSimTime();
		}
		
			/**
			 * Cloning constructor from the message part.
			 *
			 * @param original
			 */
			public SelfLocalImpl(SelfLocal original) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/VehicleMessage.java1065
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/VehicleSharedImpl.java409
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Health = " + String.valueOf(getHealth()
 	) + " | " + 
		              		
		              			"Armor = " + String.valueOf(getArmor()
 	) + " | " + 
		              		
		              			"Driver = " + String.valueOf(getDriver()
 	) + " | " + 
		              		
		              			"TeamLocked = " + String.valueOf(isTeamLocked()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Health</b> = " + String.valueOf(getHealth()
 	) + " <br/> " + 
		              		
		              			"<b>Armor</b> = " + String.valueOf(getArmor()
 	) + " <br/> " + 
		              		
		              			"<b>Driver</b> = " + String.valueOf(getDriver()
 	) + " <br/> " + 
		              		
		              			"<b>TeamLocked</b> = " + String.valueOf(isTeamLocked()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/VehicleMessage.java1068
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/VehicleShared.java192
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Health = " + String.valueOf(getHealth()
 	) + " | " + 
		              		
		              			"Armor = " + String.valueOf(getArmor()
 	) + " | " + 
		              		
		              			"Driver = " + String.valueOf(getDriver()
 	) + " | " + 
		              		
		              			"TeamLocked = " + String.valueOf(isTeamLocked()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Health</b> = " + String.valueOf(getHealth()
 	) + " <br/> " + 
		              		
		              			"<b>Armor</b> = " + String.valueOf(getArmor()
 	) + " <br/> " + 
		              		
		              			"<b>Driver</b> = " + String.valueOf(getDriver()
 	) + " <br/> " + 
		              		
		              			"<b>TeamLocked</b> = " + String.valueOf(isTeamLocked()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfLocalImpl.java307
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfMessage.java309
		public SelfMessage(SelfMessage original) {		
			
					this.Id = original.getId()
 	;
				
					this.BotId = original.getBotId()
 	;
				
					this.Name = original.getName()
 	;
				
					this.Vehicle = original.isVehicle()
 	;
				
					this.Location = original.getLocation()
 	;
				
					this.Velocity = original.getVelocity()
 	;
				
					this.Rotation = original.getRotation()
 	;
				
					this.Team = original.getTeam()
 	;
				
					this.Weapon = original.getWeapon()
 	;
				
					this.Shooting = original.isShooting()
 	;
				
					this.Health = original.getHealth()
 	;
				
					this.PrimaryAmmo = original.getPrimaryAmmo()
 	;
				
					this.SecondaryAmmo = original.getSecondaryAmmo()
 	;
				
					this.Adrenaline = original.getAdrenaline()
 	;
				
					this.Armor = original.getArmor()
 	;
				
					this.SmallArmor = original.getSmallArmor()
 	;
				
					this.AltFiring = original.isAltFiring()
 	;
				
					this.Crouched = original.isCrouched()
 	;
				
					this.Walking = original.isWalking()
 	;
				
					this.FloorLocation = original.getFloorLocation()
 	;
				
					this.FloorNormal = original.getFloorNormal()
 	;
				
					this.Combo = original.getCombo()
 	;
				
					this.UDamageTime = original.getUDamageTime()
 	;
				
					this.Action = original.getAction()
 	;
				
					this.EmotLeft = original.getEmotLeft()
 	;
				
					this.EmotCenter = original.getEmotCenter()
 	;
				
					this.EmotRight = original.getEmotRight()
 	;
				
					this.Bubble = original.getBubble()
 	;
				
					this.Anim = original.getAnim()
 	;
				
				this.TeamId = original.getTeamId();
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfLocalImpl.java307
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfLocalImpl.java501
			public SelfLocalImpl(SelfLocal original) {
				
						this.Id = original.getId()
 	;
					
						this.BotId = original.getBotId()
 	;
					
						this.Name = original.getName()
 	;
					
						this.Vehicle = original.isVehicle()
 	;
					
						this.Location = original.getLocation()
 	;
					
						this.Velocity = original.getVelocity()
 	;
					
						this.Rotation = original.getRotation()
 	;
					
						this.Team = original.getTeam()
 	;
					
						this.Weapon = original.getWeapon()
 	;
					
						this.Shooting = original.isShooting()
 	;
					
						this.Health = original.getHealth()
 	;
					
						this.PrimaryAmmo = original.getPrimaryAmmo()
 	;
					
						this.SecondaryAmmo = original.getSecondaryAmmo()
 	;
					
						this.Adrenaline = original.getAdrenaline()
 	;
					
						this.Armor = original.getArmor()
 	;
					
						this.SmallArmor = original.getSmallArmor()
 	;
					
						this.AltFiring = original.isAltFiring()
 	;
					
						this.Crouched = original.isCrouched()
 	;
					
						this.Walking = original.isWalking()
 	;
					
						this.FloorLocation = original.getFloorLocation()
 	;
					
						this.FloorNormal = original.getFloorNormal()
 	;
					
						this.Combo = original.getCombo()
 	;
					
						this.UDamageTime = original.getUDamageTime()
 	;
					
						this.Action = original.getAction()
 	;
					
						this.EmotLeft = original.getEmotLeft()
 	;
					
						this.EmotCenter = original.getEmotCenter()
 	;
					
						this.EmotRight = original.getEmotRight()
 	;
					
						this.Bubble = original.getBubble()
 	;
					
						this.Anim = original.getAnim()
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/EntityMessage.java504
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/EntityStaticImpl.java264
		}
	
    
 		
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				EntityStatic obj = (EntityStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class EntityStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getType()
 	, obj.getType()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Type on object class EntityStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getEntityClass()
 	, obj.getEntityClass()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property EntityClass on object class EntityStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
		              			"EntityClass = " + String.valueOf(getEntityClass()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
		              			"<b>EntityClass</b> = " + String.valueOf(getEntityClass()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/EntityMessage.java507
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/EntityStatic.java95
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				EntityStatic obj = (EntityStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class EntityStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getType()
 	, obj.getType()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Type on object class EntityStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getEntityClass()
 	, obj.getEntityClass()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property EntityClass on object class EntityStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
		              			"EntityClass = " + String.valueOf(getEntityClass()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
		              			"<b>EntityClass</b> = " + String.valueOf(getEntityClass()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/state/ItemCategoryState.java29
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/ItemCategoryState.java29
public class ItemCategoryState extends AbstractServerFSMState<InfoMessage, TranslatorContext>{

	@Override
	public void init(TranslatorContext context) {
	}

	@Override
	public void restart(TranslatorContext context) {
	}

	@Override
	public void stateEntering(TranslatorContext context,
							  IFSMState<InfoMessage, TranslatorContext> fromState,
			                  InfoMessage symbol) {
		if (!(symbol instanceof ItemCategoryStart)) throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, ItemCategoryStart.class), context.getLogger(), this);
	}

	@Override
	public void stateLeaving(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
		if (!(symbol instanceof ItemCategoryEnd)) throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, ItemCategoryEnd.class), context.getLogger(), this);
	}

	@Override
	protected void innerStateSymbol(TranslatorContext context, InfoMessage symbol) {
		if (!(symbol instanceof ItemCategory)) throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, ItemCategory.class), context.getLogger(), this);
		long simTime = ((ItemCategory)symbol).getSimTime();
		ItemDescriptor desc = context.getItemTranslator().createDescriptor((ItemCategory)symbol);
		if (desc == null) {
			context.getLogger().warning("ItemCategory was not translated into ItemDescriptor: " + symbol);
			return;
		}
		context.getEventQueue().pushEvent(new ItemDescriptorObtained(desc, simTime));
	}

}
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/loquenavigator/LoqueNavigator.java480
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigator.java471
        navigNextNode = null;
        navigNextLocationOffset = 0;
        while ((located == null) && navigIterator.hasNext()) {
            // get next node in the path
            located = navigIterator.next();
            navigNextLocationOffset += 1;
            if (located == null) {
                continue;
            }
        }

        // did we get the next node?
        if (located == null) {
            navigNextLocationOffset = 0;
            return;
        }

        if (executor.getPathElementIndex() + navigNextLocationOffset >= executor.getPath().size()) {
            navigNextLocationOffset = 0; // WTF?
        }

        // obtain next location
        navigNextLocation = located.getLocation();
        // obtain navpoint instance for a given location
        navigNextNode = getNavPoint(located);
    }

    /**
     * Prepares next node in the path assuming the currently pursued node is a
     * teleporter.
     */
    private void prepareNextNodeTeleporter() {
        // Retrieve the next node, if there are any left
        // note: there might be null nodes along the path!
        ILocated located = null;
        navigNextLocation = null;
        navigNextLocationOffset = 0;
        boolean nextTeleporterFound = false;
        while ((located == null) && navigIterator.hasNext()) {
            // get next node in the path
            located = navigIterator.next();
            navigNextLocationOffset += 1;
            if (located == null) {
                continue;
            }
            navigNextNode = getNavPoint(located);
            if (navigNextNode != null && navigNextNode.isTeleporter()) {
                // next node is 
                if (!nextTeleporterFound) {
                    // ignore first teleporter as it is the other end of the teleporter we're currently trying to enter
                    located = null;
                }
                nextTeleporterFound = true;
            } else {
                break;
            }
        }

        // did we get the next node?
        if (located == null) {
            navigNextLocationOffset = 0;
            return;
        }

        if (executor.getPathElementIndex() + navigNextLocationOffset >= executor.getPath().size()) {
            navigNextLocationOffset = 0; // WTF?
        }

        // obtain next location
        navigNextLocation = located.getLocation();
        // obtain navpoint instance for a given location
        navigNextNode = getNavPoint(located);
    }

    /**
     * Initializes next navigation node in path.
     *
     * @return True, if the navigation node is successfully switched.
     */
    private boolean switchToNextNode() {
        if (log != null && log.isLoggable(Level.FINER)) {
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/UT2004Navigation.java642
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigation.java765
        if (continueToPath == null) {
            log.severe("continueTo specified, but continueToPath is NULL!");
            return;
        }
        if (isNavigatingToPlayer()) {
            log.warning("continueTo specified, but navigating to Player, INVALID!");
            return;
        }
        if (isPathExecuting()) {
            double remainingDistance = getRemainingDistance();
            if (remainingDistance < extendPathThreshold) {
                if (!continueToPath.isDone()) {
                    log.warning("Should extend path, remainingDistance = " + remainingDistance + " < " + extendPathThreshold + " = extendPathThreshold, but continueToPath.isDone() == false, cannot extend path!");
                    return;
                }
                log.info("Extending path to continue to " + continueTo);

                pathExecutor.extendPath(((List) continueToPath.get()));

                // ADJUST INTERNALS
                currentPathFuture = pathExecutor.getPathFuture();
                lastTarget = currentTarget;
                currentTarget = continueTo;
                fromNavPoint = getNearestNavPoint(((IPathFuture<ILocated>) currentPathFuture).get().get(0).getLocation());
                toNavPoint = getNearestNavPoint(((IPathFuture<ILocated>) currentPathFuture).get().get(currentPathFuture.get().size() - 1).getLocation());

                continueTo = null;
                continueToPath = null;
            }
        }

    }


    private void navigatePlayer() {
        double vDistance = bot.getLocation().getDistanceZ(currentTargetPlayer.getLocation());
        double hDistance = bot.getLocation().getDistance2D(currentTargetPlayer.getLocation());

        if (hDistance < AT_PLAYER && vDistance < 50) {
            // player reached
            if (log != null && log.isLoggable(Level.FINE)) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointStaticImpl.java281
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointStaticImpl.java369
		public NavPointStaticImpl(NavPointStaticImpl original) {		
			
					this.Id = original.getId()
 	;
				
					this.Item = original.getItem()
 	;
				
					this.ItemClass = original.getItemClass()
 	;
				
					this.Mover = original.getMover()
 	;
				
					this.LiftOffset = original.getLiftOffset()
 	;
				
					this.LiftJumpExit = original.isLiftJumpExit()
 	;
				
					this.NoDoubleJump = original.isNoDoubleJump()
 	;
				
					this.InvSpot = original.isInvSpot()
 	;
				
					this.PlayerStart = original.isPlayerStart()
 	;
				
					this.TeamNumber = original.getTeamNumber()
 	;
				
					this.DomPoint = original.isDomPoint()
 	;
				
					this.Door = original.isDoor()
 	;
				
					this.LiftCenter = original.isLiftCenter()
 	;
				
					this.LiftExit = original.isLiftExit()
 	;
				
					this.AIMarker = original.isAIMarker()
 	;
				
					this.JumpSpot = original.isJumpSpot()
 	;
				
					this.JumpPad = original.isJumpPad()
 	;
				
					this.JumpDest = original.isJumpDest()
 	;
				
					this.Teleporter = original.isTeleporter()
 	;
				
					this.Rotation = original.getRotation()
 	;
				
					this.RoamingSpot = original.isRoamingSpot()
 	;
				
					this.SnipingSpot = original.isSnipingSpot()
 	;
				
					this.ItemInstance = original.getItemInstance()
 	;
				
					this.OutgoingEdges = original.getOutgoingEdges()
 	;
				
					this.IncomingEdges = original.getIncomingEdges()
 	;
				
					this.PreferedWeapon = original.getPreferedWeapon()
 	;
				
			this.SimTime = original.getSimTime();
		}
		
			/**
			 * Cloning constructor from the message part.
			 *
			 * @param original
			 */
			public NavPointStaticImpl(NavPointStatic original) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/IncomingProjectileMessage.java987
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/IncomingProjectileSharedImpl.java385
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Direction = " + String.valueOf(getDirection()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Speed = " + String.valueOf(getSpeed()
 	) + " | " + 
		              		
		              			"Origin = " + String.valueOf(getOrigin()
 	) + " | " + 
		              		
		              			"DamageRadius = " + String.valueOf(getDamageRadius()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Direction</b> = " + String.valueOf(getDirection()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Speed</b> = " + String.valueOf(getSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>Origin</b> = " + String.valueOf(getOrigin()
 	) + " <br/> " + 
		              		
		              			"<b>DamageRadius</b> = " + String.valueOf(getDamageRadius()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/IncomingProjectileMessage.java990
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/IncomingProjectileShared.java179
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Direction = " + String.valueOf(getDirection()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Speed = " + String.valueOf(getSpeed()
 	) + " | " + 
		              		
		              			"Origin = " + String.valueOf(getOrigin()
 	) + " | " + 
		              		
		              			"DamageRadius = " + String.valueOf(getDamageRadius()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Direction</b> = " + String.valueOf(getDirection()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Speed</b> = " + String.valueOf(getSpeed()
 	) + " <br/> " + 
		              		
		              			"<b>Origin</b> = " + String.valueOf(getOrigin()
 	) + " <br/> " + 
		              		
		              			"<b>DamageRadius</b> = " + String.valueOf(getDamageRadius()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointStaticImpl.java281
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointStaticImpl.java457
			public NavPointStaticImpl(NavPointStatic original) {
				
						this.Id = original.getId()
 	;
					
						this.Item = original.getItem()
 	;
					
						this.ItemClass = original.getItemClass()
 	;
					
						this.Mover = original.getMover()
 	;
					
						this.LiftOffset = original.getLiftOffset()
 	;
					
						this.LiftJumpExit = original.isLiftJumpExit()
 	;
					
						this.NoDoubleJump = original.isNoDoubleJump()
 	;
					
						this.InvSpot = original.isInvSpot()
 	;
					
						this.PlayerStart = original.isPlayerStart()
 	;
					
						this.TeamNumber = original.getTeamNumber()
 	;
					
						this.DomPoint = original.isDomPoint()
 	;
					
						this.Door = original.isDoor()
 	;
					
						this.LiftCenter = original.isLiftCenter()
 	;
					
						this.LiftExit = original.isLiftExit()
 	;
					
						this.AIMarker = original.isAIMarker()
 	;
					
						this.JumpSpot = original.isJumpSpot()
 	;
					
						this.JumpPad = original.isJumpPad()
 	;
					
						this.JumpDest = original.isJumpDest()
 	;
					
						this.Teleporter = original.isTeleporter()
 	;
					
						this.Rotation = original.getRotation()
 	;
					
						this.RoamingSpot = original.isRoamingSpot()
 	;
					
						this.SnipingSpot = original.isSnipingSpot()
 	;
					
						this.ItemInstance = original.getItemInstance()
 	;
					
						this.OutgoingEdges = original.getOutgoingEdges()
 	;
					
						this.IncomingEdges = original.getIncomingEdges()
 	;
					
						this.PreferedWeapon = original.getPreferedWeapon()
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfLocalImpl.java238
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfMessage.java240
		public SelfMessage(
			UnrealId Id,  UnrealId BotId,  String Name,  boolean Vehicle,  Location Location,  Velocity Velocity,  Rotation Rotation,  int Team,  String Weapon,  boolean Shooting,  int Health,  int PrimaryAmmo,  int SecondaryAmmo,  int Adrenaline,  int Armor,  int SmallArmor,  boolean AltFiring,  boolean Crouched,  boolean Walking,  Location FloorLocation,  Location FloorNormal,  String Combo,  double UDamageTime,  String Action,  String EmotLeft,  String EmotCenter,  String EmotRight,  String Bubble,  String Anim
		) {
			
					this.Id = Id;
				
					this.BotId = BotId;
				
					this.Name = Name;
				
					this.Vehicle = Vehicle;
				
					this.Location = Location;
				
					this.Velocity = Velocity;
				
					this.Rotation = Rotation;
				
					this.Team = Team;
				
					this.Weapon = Weapon;
				
					this.Shooting = Shooting;
				
					this.Health = Health;
				
					this.PrimaryAmmo = PrimaryAmmo;
				
					this.SecondaryAmmo = SecondaryAmmo;
				
					this.Adrenaline = Adrenaline;
				
					this.Armor = Armor;
				
					this.SmallArmor = SmallArmor;
				
					this.AltFiring = AltFiring;
				
					this.Crouched = Crouched;
				
					this.Walking = Walking;
				
					this.FloorLocation = FloorLocation;
				
					this.FloorNormal = FloorNormal;
				
					this.Combo = Combo;
				
					this.UDamageTime = UDamageTime;
				
					this.Action = Action;
				
					this.EmotLeft = EmotLeft;
				
					this.EmotCenter = EmotCenter;
				
					this.EmotRight = EmotRight;
				
					this.Bubble = Bubble;
				
					this.Anim = Anim;
				
		}
    
		/**
		 * Cloning constructor from the full message.
		 *
		 * @param original
		 */
		public SelfMessage(SelfMessage original) {		
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/UT2004Navigation.java832
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigation.java985
            currentTarget = pathList.get(pathList.size() - 1);
        } else if (pathList.size() == 0) {
            currentPathFuture.get().add(currentTarget);
        } else {
            ILocated lastPathElement = pathList.get(pathList.size() - 1);
            if (lastPathElement.getLocation().getDistance(currentTarget.getLocation()) > NEW_PATH_DISTANCE_THRESHOLD) {
                currentPathFuture.get().add(currentTarget);
            }
        }
        return true;
    }

    protected void switchState(NavigationState newState) {
        state.setFlag(newState);
    }

    protected void noPath() {
        // DAMN ...
        reset(true, NavigationState.PATH_COMPUTATION_FAILED);
    }


    protected void stuck() {
        // DAMN ...
        reset(true, NavigationState.STUCK);
    }

    protected void targetReached() {
        // COOL !!!
        reset(true, NavigationState.TARGET_REACHED);
    }

    protected void reset(boolean stopGetBackToNavGraph, NavigationState resultState) {
        if (currentTarget != null) {
            lastTarget = currentTarget;
            lastTargetPlayer = currentTargetPlayer;
        }

        navigating = false;

        currentTarget = null;
        currentTargetPlayer = null;

        fromNavPoint = null;
        toNavPoint = null;

        currentPathFuture = null;

        runningStraightToPlayer = false;
        runningStraightToPlayerFailedAt = null;

        continueTo = null;
        continueToPath = null;

        pathExecutor.stop();
        runStraight.stop(false);
        if (stopGetBackToNavGraph) {
            getBackToNavGraph.stop();
            usingGetBackToNavGraph = false;
        }


        if (resultState == null) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MyInventoryMessage.java531
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MyInventoryStaticImpl.java274
		}
	
    
 		
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				MyInventoryStatic obj = (MyInventoryStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class MyInventoryStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getType()
 	, obj.getType()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Type on object class MyInventoryStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getDescriptor()
 	, obj.getDescriptor()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Descriptor on object class MyInventoryStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MyInventoryMessage.java534
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MyInventoryStatic.java99
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				MyInventoryStatic obj = (MyInventoryStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class MyInventoryStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getType()
 	, obj.getType()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Type on object class MyInventoryStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getDescriptor()
 	, obj.getDescriptor()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Descriptor on object class MyInventoryStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/EnteredVehicle.java96
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/LockedVehicle.java94
		public LockedVehicle(LockedVehicle original) {		
			
					this.Id = original.getId()
 	;
				
					this.Type = original.getType()
 	;
				
					this.Location = original.getLocation()
 	;
				
			this.SimTime = original.getSimTime();			
		}
		
	   		
			protected long SimTime;
				
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */	
			@Override
			public long getSimTime() {
				return SimTime;
			}
						
			/**
			 * Used by Yylex to slip correct time of the object or programmatically.
			 */
			protected void setSimTime(long SimTime) {
				this.SimTime = SimTime;
			}
	   	
    	
	    /**
         * Id of the vehicle, which we cannot enter, because it is locked.  
         */
        protected
         UnrealId Id =
       	null;
	
 		/**
         * Id of the vehicle, which we cannot enter, because it is locked.  
         */
        public  UnrealId getId()
 	 {
    					return Id;
    				}
    			
    	
	    /**
         * Type of the vehicle we wanted to enter. What kind of turret or car.  
         */
        protected
         String Type =
       	null;
	
 		/**
         * Type of the vehicle we wanted to enter. What kind of turret or car.  
         */
        public  String getType()
 	 {
    					return Type;
    				}
    			
    	
	    /**
         * Location of the vehicle. 
         */
        protected
         Location Location =
       	null;
	
 		/**
         * Location of the vehicle. 
         */
        public  Location getLocation()
 	 {
    					return Location;
    				}
    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 	    public String toJsonLiteral() {
            return "lockedvehicle( "
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/UT2004Navigation.java379
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigation.java438
        }
        return DistanceUtils.getNearest(bot.getWorldView().getAll(NavPoint.class).values(), location);
    }

    public ILocated getContinueTo() {
        return continueTo;
    }

    public void setContinueTo(ILocated continueTo) {
        if (!isNavigating()) {
            log.warning("Cannot continueTo(" + continueTo + ") as navigation is not navigating!");
            return;
        }
        if (isNavigatingToPlayer()) {
            log.warning("Cannot continueTo(" + continueTo + ") as we're navigating to player!");
            return;
        }
        this.continueTo = continueTo;

        NavPoint from = getNearestNavPoint(currentTarget);
        NavPoint to = getNearestNavPoint(continueTo);

        this.continueToPath = pathPlanner.computePath(from, to);

        checkExtendPath();
    }

    @Override
    public List<ILocated> getCurrentPathCopy() {
        List<ILocated> result = new ArrayList();
        if (currentPathFuture != null) {
            result.addAll(currentPathFuture.get());
        }
        return result;
    }

    @Override
    public List<ILocated> getCurrentPathDirect() {
        if (currentPathFuture != null) {
            return currentPathFuture.get();
        }
        return null;
    }

    @Override
    public ILocated getCurrentTarget() {
        return currentTarget;
    }

    @Override
    public Player getCurrentTargetPlayer() {
        return currentTargetPlayer;
    }

    @Override
    public Item getCurrentTargetItem() {
        if (currentTarget instanceof Item) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Item.java244
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ItemMessage.java1029
		}
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"NavPointId = " + String.valueOf(getNavPointId()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Amount = " + String.valueOf(getAmount()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
		              			"Dropped = " + String.valueOf(isDropped()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>NavPointId</b> = " + String.valueOf(getNavPointId()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Amount</b> = " + String.valueOf(getAmount()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
		              			"<b>Dropped</b> = " + String.valueOf(isDropped()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=base+classtype[@name=message]) ---
	        
         	  	
         		    
         		    
			         
			         	
         		    
         		    
         	  
			/**
			 * DO NOT USE THIS METHOD! Reserved for GaviaLib (Pogamut core)! It's used
			 * to set correct navpoint instance into the item.
			 */  	
			public void setNavPoint(NavPoint navPoint) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/GameInfoMessage.java1677
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/GameInfoSharedImpl.java374
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"WeaponStay = " + String.valueOf(isWeaponStay()
 	) + " | " + 
		              		
		              			"TimeLimit = " + String.valueOf(getTimeLimit()
 	) + " | " + 
		              		
		              			"FragLimit = " + String.valueOf(getFragLimit()
 	) + " | " + 
		              		
		              			"GoalTeamScore = " + String.valueOf(getGoalTeamScore()
 	) + " | " + 
		              		
		              			"MaxTeamSize = " + String.valueOf(getMaxTeamSize()
 	) + " | " + 
		              		
		              			"GamePaused = " + String.valueOf(isGamePaused()
 	) + " | " + 
		              		
		              			"BotsPaused = " + String.valueOf(isBotsPaused()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>WeaponStay</b> = " + String.valueOf(isWeaponStay()
 	) + " <br/> " + 
		              		
		              			"<b>TimeLimit</b> = " + String.valueOf(getTimeLimit()
 	) + " <br/> " + 
		              		
		              			"<b>FragLimit</b> = " + String.valueOf(getFragLimit()
 	) + " <br/> " + 
		              		
		              			"<b>GoalTeamScore</b> = " + String.valueOf(getGoalTeamScore()
 	) + " <br/> " + 
		              		
		              			"<b>MaxTeamSize</b> = " + String.valueOf(getMaxTeamSize()
 	) + " <br/> " + 
		              		
		              			"<b>GamePaused</b> = " + String.valueOf(isGamePaused()
 	) + " <br/> " + 
		              		
		              			"<b>BotsPaused</b> = " + String.valueOf(isBotsPaused()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/GameInfoMessage.java1680
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/GameInfoShared.java182
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"WeaponStay = " + String.valueOf(isWeaponStay()
 	) + " | " + 
		              		
		              			"TimeLimit = " + String.valueOf(getTimeLimit()
 	) + " | " + 
		              		
		              			"FragLimit = " + String.valueOf(getFragLimit()
 	) + " | " + 
		              		
		              			"GoalTeamScore = " + String.valueOf(getGoalTeamScore()
 	) + " | " + 
		              		
		              			"MaxTeamSize = " + String.valueOf(getMaxTeamSize()
 	) + " | " + 
		              		
		              			"GamePaused = " + String.valueOf(isGamePaused()
 	) + " | " + 
		              		
		              			"BotsPaused = " + String.valueOf(isBotsPaused()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>WeaponStay</b> = " + String.valueOf(isWeaponStay()
 	) + " <br/> " + 
		              		
		              			"<b>TimeLimit</b> = " + String.valueOf(getTimeLimit()
 	) + " <br/> " + 
		              		
		              			"<b>FragLimit</b> = " + String.valueOf(getFragLimit()
 	) + " <br/> " + 
		              		
		              			"<b>GoalTeamScore</b> = " + String.valueOf(getGoalTeamScore()
 	) + " <br/> " + 
		              		
		              			"<b>MaxTeamSize</b> = " + String.valueOf(getMaxTeamSize()
 	) + " <br/> " + 
		              		
		              			"<b>GamePaused</b> = " + String.valueOf(isGamePaused()
 	) + " <br/> " + 
		              		
		              			"<b>BotsPaused</b> = " + String.valueOf(isBotsPaused()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Entity.java214
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/EntityMessage.java879
		}
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
		              			"EntityClass = " + String.valueOf(getEntityClass()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
		              			"<b>EntityClass</b> = " + String.valueOf(getEntityClass()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BombInfo.java226
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BombInfoMessage.java961
		}
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Holder = " + String.valueOf(getHolder()
 	) + " | " + 
		              		
		              			"HolderTeam = " + String.valueOf(getHolderTeam()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
		              			"State = " + String.valueOf(getState()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Holder</b> = " + String.valueOf(getHolder()
 	) + " <br/> " + 
		              		
		              			"<b>HolderTeam</b> = " + String.valueOf(getHolderTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
		              			"<b>State</b> = " + String.valueOf(getState()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRaySharedImpl.java138
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MyInventorySharedImpl.java133
    (SelfShared data, long time, ITeamId teamId)
			{
				this.object = data;
				this.time = time;
				this.teamId = teamId;
			}
			
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */
			@Override
			public long getSimTime() {
				return this.time;
			}
	
			@Override
			public WorldObjectId getId() {
				return object.getId();
			}
	
			@Override
			public ITeamId getTeamId() {
				return teamId;
			}
			
			@Override
			public Class getCompositeObjectClass()
			{
				return object.getCompositeClass();
			}
	
			@Override
			public Collection<ISharedPropertyUpdatedEvent> getPropertyEvents() {
				LinkedList<ISharedPropertyUpdatedEvent> events = new LinkedList<ISharedPropertyUpdatedEvent>();
				
				for ( ISharedProperty property : object.getProperties().values() )
				{
					if ( property != null)
					{
						events.push( property.createUpdateEvent(time, teamId) );
					}
				}
				return events;
			}
			
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerMessage.java1806
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfMessage.java2166
					toUpdate.Action=getAction()
 	;
					updated = true;
				}
			
				if (!SafeEquals.equals(toUpdate.EmotLeft, getEmotLeft()
 	)) {
					toUpdate.EmotLeft=getEmotLeft()
 	;
					updated = true;
				}
			
				if (!SafeEquals.equals(toUpdate.EmotCenter, getEmotCenter()
 	)) {
					toUpdate.EmotCenter=getEmotCenter()
 	;
					updated = true;
				}
			
				if (!SafeEquals.equals(toUpdate.EmotRight, getEmotRight()
 	)) {
					toUpdate.EmotRight=getEmotRight()
 	;
					updated = true;
				}
			
				if (!SafeEquals.equals(toUpdate.Bubble, getBubble()
 	)) {
					toUpdate.Bubble=getBubble()
 	;
					updated = true;
				}
			
				if (!SafeEquals.equals(toUpdate.Anim, getAnim()
 	)) {
					toUpdate.Anim=getAnim()
 	;
					updated = true;
				}
			
         	
         	// UPDATING SHARED PROPERTIES
         	
         	
         	// UPDATE TIME
         	toUpdate.SimTime = SimTime;
			
			if (updated) {
				return new IWorldObjectUpdateResult.WorldObjectUpdateResult<IWorldObject>(IWorldObjectUpdateResult.Result.UPDATED, toUpdate);
			} else {
				return new IWorldObjectUpdateResult.WorldObjectUpdateResult<IWorldObject>(IWorldObjectUpdateResult.Result.SAME, toUpdate);
			}
		}
		
		@Override
		public ILocalWorldObjectUpdatedEvent getLocalEvent() {
			return new SelfLocalImpl.SelfLocalUpdate
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessageLocalImpl.java48
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessageLocalImpl.java121
		public InitedMessageLocalImpl(InitedMessageLocalImpl original) {		
			
					this.BotId = original.getBotId()
 	;
				
					this.HealthStart = original.getHealthStart()
 	;
				
					this.HealthFull = original.getHealthFull()
 	;
				
					this.HealthMax = original.getHealthMax()
 	;
				
					this.AdrenalineStart = original.getAdrenalineStart()
 	;
				
					this.AdrenalineMax = original.getAdrenalineMax()
 	;
				
					this.ShieldStrengthStart = original.getShieldStrengthStart()
 	;
				
					this.ShieldStrengthMax = original.getShieldStrengthMax()
 	;
				
					this.MaxMultiJump = original.getMaxMultiJump()
 	;
				
					this.DamageScaling = original.getDamageScaling()
 	;
				
					this.GroundSpeed = original.getGroundSpeed()
 	;
				
					this.WaterSpeed = original.getWaterSpeed()
 	;
				
					this.AirSpeed = original.getAirSpeed()
 	;
				
					this.LadderSpeed = original.getLadderSpeed()
 	;
				
					this.AccelRate = original.getAccelRate()
 	;
				
					this.JumpZ = original.getJumpZ()
 	;
				
					this.MultiJumpBoost = original.getMultiJumpBoost()
 	;
				
					this.MaxFallSpeed = original.getMaxFallSpeed()
 	;
				
					this.DodgeSpeedFactor = original.getDodgeSpeedFactor()
 	;
				
					this.DodgeSpeedZ = original.getDodgeSpeedZ()
 	;
				
					this.AirControl = original.getAirControl()
 	;
				
			this.SimTime = original.getSimTime();
		}
		
			/**
			 * Cloning constructor from the message part.
			 *
			 * @param original
			 */
			public InitedMessageLocalImpl(InitedMessageLocal original) {
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigation.java715
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigation.java916
        }
        // YES, WE'RE ON NAV-GRAPH!  	
        // ... getBackToNavGraph will auto-terminate itself when we manage to get back to graph

        if (currentPathFuture == null) {
            fromNavPoint = getNearestNavPoint(bot.getLocation());
            toNavPoint = getNearestNavPoint(currentTarget);

            if (log != null && log.isLoggable(Level.FINE)) {
                log.fine("Computing path from " + fromNavPoint.getId().getStringId() + " to " + toNavPoint.getId().getStringId());
            }

            currentPathFuture = pathPlanner.computePath(fromNavPoint, toNavPoint);
        }

        switch (currentPathFuture.getStatus()) {
            case FUTURE_IS_READY:
                // ALL OK!
                break;
            case FUTURE_IS_BEING_COMPUTED:
                if (log != null && log.isLoggable(Level.FINE)) {
                    log.fine("Waiting for the path to be computed...");
                }
                return;
            case CANCELED:
                if (log != null && log.isLoggable(Level.WARNING)) {
                    log.warning("Path computation has been canceled.");
                }
                noPath();
                return;
            case COMPUTATION_EXCEPTION:
                if (log != null && log.isLoggable(Level.WARNING)) {
                    log.warning("Path computation has failed with an exception.");
                }
                noPath();
                return;
        }

        // PATH IS READY!
        // => tinker the path
        if (!processPathFuture(currentPathFuture, currentTarget)) {
            noPath();
            return;
        }
        // => let's start running
        pathExecutor.followPath(currentPathFuture);
    }
FileLine
cz/cuni/amis/pogamut/ut2004/observer/impl/AbstractUT2004Observer.java79
cz/cuni/amis/pogamut/ut2004/server/impl/AbstractUT2004Server.java136
	}

	/**
	 * Specify the password that should be used if required by the world.
	 * 
	 * @param password
	 */
	public void setPassword(String password) {
		this.desiredPassword = password;
	}

	// --------------
	// -=-=-=-=-=-=-=
	// READY LISTENER
	// -=-=-=-=-=-=-=
	// --------------
	/**
	 * This method is called whenever HelloBot message is parsed - the
	 * GameBots2004 is awaiting the bot to reply with Ready command to begin the
	 * handshake.
	 */
	protected void readyCommandRequested() {
		getAct().act(new Ready());
	}

	/**
	 * Listener that is hooked to WorldView awaiting event ReadyCommandRequest
	 * calling setupWorldViewListeners() and then readyCommandRequested() method
	 * upon receiving the event.
	 */
	private IWorldEventListener<ReadyCommandRequest> readyCommandRequestListener = new IWorldEventListener<ReadyCommandRequest>() {

		@Override
		public void notify(ReadyCommandRequest event) {
			setState(new AgentStateStarting("GameBots2004 greeted us, sending READY."));
			readyCommandRequested();
			setState(new AgentStateStarting("READY sent."));
		}
	};
	// -----------------
	// -=-=-=-=-=-=-=-=-
	// PASSWORD LISTENER
	// -=-=-=-=-=-=-=-=-
	// -----------------
	/**
	 * Instance of the password reply command that was sent upon receivieng
	 * request for the password (the world is locked).
	 * <p>
	 * <p>
	 * If null the password was not required by the time the bot connected to
	 * the world.
	 */
	private PasswordReply passwordReply = null;

	/**
	 * Instance of the password reply command that was sent upon receivieng
	 * request for the password (the world is locked).
	 * <p>
	 * <p>
	 * If null the password was not required by the time the bot connected to
	 * the world.
	 * 
	 * @return
	 */
	public PasswordReply getPasswordReply() {
		return passwordReply;
	}

	/**
	 * This method is called whenever the Password event is caught telling us
	 * the world is locked and is requiring a password.
	 * <p>
	 * <p>
	 * May return null - in that case an empty password is sent to the server
	 * (which will probably result in closing the connection and termination of
	 * the agent).
	 * <p>
	 * <p>
	 * This message is then saved to private field passwordReply and is
	 * accessible via getPasswordReply() method if required to be probed during
	 * the bot's runtime.
	 * <p>
	 * <p>
	 * Note that if setPassword() method is called before this one it will use
	 * provided password via that method.
	 */
	protected PasswordReply createPasswordReply() {
		return desiredPassword != null ? new PasswordReply(desiredPassword)
				: null;
	}

	/**
	 * Listener that is hooked to WorldView awaiting event InitCommandRequest
	 * calling initCommandRequested() method upon receiving the event.
	 */
	private IWorldEventListener<Password> passwordRequestedListener = new IWorldEventListener<Password>() {

		@Override
		public void notify(Password event) {
			setState(new AgentStateStarting("Password requested by the world."));
			passwordReply = createPasswordReply();
			if (passwordReply == null) {
				passwordReply = new PasswordReply("");
			}
			if (log.isLoggable(Level.INFO)) log.info("Password required for the world, replying with '"
					+ passwordReply.getPassword() + "'.");
			getAct().act(passwordReply);
		}
	};
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/VehicleMessage.java686
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/VehicleStaticImpl.java249
		}
	
    
 		
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				VehicleStatic obj = (VehicleStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class VehicleStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getType()
 	, obj.getType()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Type on object class VehicleStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/UT2004Navigation.java220
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigation.java250
    }

    @Override
    public boolean isNavigating() {
        return navigating;
    }

    @Override
    public boolean isNavigatingToNavPoint() {
        return isNavigating() && getCurrentTarget() instanceof NavPoint;
    }

    @Override
    public boolean isNavigatingToItem() {
        return isNavigating() && getCurrentTarget() instanceof Item;
    }

    @Override
    public boolean isNavigatingToPlayer() {
        return isNavigating() && getCurrentTarget() instanceof Player;
    }

    @Override
    public boolean isTryingToGetBackToNav() {
        return getBackToNavGraph.isExecuting();
    }

    @Override
    public boolean isPathExecuting() {
        return pathExecutor.isExecuting();
    }

    @Override
    public boolean isRunningStraight() {
        return runStraight.isExecuting();
    }

    @Override
    public ILocated getFocus() {
        return pathExecutor.getFocus();
    }

    @Override
    public void setFocus(ILocated located) {
        pathExecutor.setFocus(located);
        getBackToNavGraph.setFocus(located);
        runStraight.setFocus(located);
    }

    @Override
    public void stopNavigation() {
        reset(true, NavigationState.STOPPED);
        bot.getAct().act(new Stop());
    }

    @Override
    public void navigate(ILocated target) {
    	if (!isAvailable()) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/VehicleMessage.java689
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/VehicleStatic.java92
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				VehicleStatic obj = (VehicleStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class VehicleStatic");
							return true;
						}
 					
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getType()
 	, obj.getType()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Type on object class VehicleStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MoverSharedImpl.java212
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointSharedImpl.java272
    (NavPointShared data, long time, ITeamId teamId)
			{
				this.object = data;
				this.time = time;
				this.teamId = teamId;
			}
			
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */
			@Override
			public long getSimTime() {
				return this.time;
			}
	
			@Override
			public WorldObjectId getId() {
				return object.getId();
			}
	
			@Override
			public ITeamId getTeamId() {
				return teamId;
			}
			
			@Override
			public Class getCompositeObjectClass()
			{
				return object.getCompositeClass();
			}
	
			@Override
			public Collection<ISharedPropertyUpdatedEvent> getPropertyEvents() {
				LinkedList<ISharedPropertyUpdatedEvent> events = new LinkedList<ISharedPropertyUpdatedEvent>();
				
				for ( ISharedProperty property : object.getProperties().values() )
				{
					if ( property != null)
					{
						events.push( property.createUpdateEvent(time, teamId) );
					}
				}
				return events;
			}
			
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/NavMesh.java1354
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/NavMesh.java1521
                                    if (safeVertex.get(v1)) {
                                        rightMantinelTarget = new Location(vv1[0], vv1[1], vv1[2] + NavMeshConstants.liftPolygonLocation);
                                    } else {
                                        if (gateway.getLength() <= 2 * NavMeshConstants.agentRadius) {
                                            rightMantinelTarget = new Location((vv2[0] + vv1[0]) / 2, (vv2[1] + vv1[1]) / 2, (vv2[2] + vv1[2]) / 2 + NavMeshConstants.liftPolygonLocation);
                                        } else {
                                            rightMantinelTarget = new Location(vv1[0] + (vv2[0] - vv1[0]) / gateway.getLength() * NavMeshConstants.agentRadius,
                                                    vv1[1] + (vv2[1] - vv1[1]) / gateway.getLength() * NavMeshConstants.agentRadius,
                                                    vv1[2] + (vv2[2] - vv1[2]) / gateway.getLength() * NavMeshConstants.agentRadius + NavMeshConstants.liftPolygonLocation);
                                        }
                                    }
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/NavMesh.java1339
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/NavMesh.java1481
                                    if (safeVertex.get(v2)) {
                                        leftMantinelTarget = new Location(vv2[0], vv2[1], vv2[2] + NavMeshConstants.liftPolygonLocation);
                                    } else {
                                        if (gateway.getLength() <= 2 * NavMeshConstants.agentRadius) {
                                            leftMantinelTarget = new Location((vv2[0] + vv1[0]) / 2, (vv2[1] + vv1[1]) / 2, (vv2[2] + vv1[2]) / 2 + NavMeshConstants.liftPolygonLocation);
                                        } else {
                                            leftMantinelTarget = new Location(vv2[0] + (vv1[0] - vv2[0]) / gateway.getLength() * NavMeshConstants.agentRadius,
                                                    vv2[1] + (vv1[1] - vv2[1]) / gateway.getLength() * NavMeshConstants.agentRadius,
                                                    vv2[2] + (vv1[2] - vv2[2]) / gateway.getLength() * NavMeshConstants.agentRadius + NavMeshConstants.liftPolygonLocation);
                                        }
                                    }
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/state/PasswordState.java31
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/PasswordState.java31
public class PasswordState extends AbstractServerFSMState<InfoMessage, TranslatorContext> {
	
	@Override
	public void init(TranslatorContext context) {
	}

	@Override
	public void restart(TranslatorContext context) {
	}

	@Override
	public void stateEntering(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> fromState,
			InfoMessage symbol) {
		if (!(symbol instanceof Password)) throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, Password.class), context.getLogger(), this);
		if (!(symbol instanceof IWorldChangeEvent)) throw new UnexpectedMessageException(TranslatorMessages.messageNotWorldEvent(this, symbol), context.getLogger(), this);
		context.getEventQueue().pushEvent((IWorldChangeEvent)symbol);
	}

	@Override
	public void stateLeaving(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
	}

	@Override
	protected void innerStateSymbol(TranslatorContext context, InfoMessage symbol) {
		if (!(symbol instanceof Password)) throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol), context.getLogger(), this);
	}
	
}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessageLocalImpl.java48
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessageMessage.java241
		public InitedMessageMessage(InitedMessageMessage original) {		
			
					this.BotId = original.getBotId()
 	;
				
					this.HealthStart = original.getHealthStart()
 	;
				
					this.HealthFull = original.getHealthFull()
 	;
				
					this.HealthMax = original.getHealthMax()
 	;
				
					this.AdrenalineStart = original.getAdrenalineStart()
 	;
				
					this.AdrenalineMax = original.getAdrenalineMax()
 	;
				
					this.ShieldStrengthStart = original.getShieldStrengthStart()
 	;
				
					this.ShieldStrengthMax = original.getShieldStrengthMax()
 	;
				
					this.MaxMultiJump = original.getMaxMultiJump()
 	;
				
					this.DamageScaling = original.getDamageScaling()
 	;
				
					this.GroundSpeed = original.getGroundSpeed()
 	;
				
					this.WaterSpeed = original.getWaterSpeed()
 	;
				
					this.AirSpeed = original.getAirSpeed()
 	;
				
					this.LadderSpeed = original.getLadderSpeed()
 	;
				
					this.AccelRate = original.getAccelRate()
 	;
				
					this.JumpZ = original.getJumpZ()
 	;
				
					this.MultiJumpBoost = original.getMultiJumpBoost()
 	;
				
					this.MaxFallSpeed = original.getMaxFallSpeed()
 	;
				
					this.DodgeSpeedFactor = original.getDodgeSpeedFactor()
 	;
				
					this.DodgeSpeedZ = original.getDodgeSpeedZ()
 	;
				
					this.AirControl = original.getAirControl()
 	;
				
				this.TeamId = original.getTeamId();
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Player.java344
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerSharedImpl.java643
		              			"Action = " + String.valueOf(getAction()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Weapon = " + String.valueOf(getWeapon()
 	) + " | " + 
		              		
		              			"Crouched = " + String.valueOf(isCrouched()
 	) + " | " + 
		              		
		              			"Firing = " + String.valueOf(getFiring()
 	) + " | " + 
		              		
		              			"EmotLeft = " + String.valueOf(getEmotLeft()
 	) + " | " + 
		              		
		              			"EmotCenter = " + String.valueOf(getEmotCenter()
 	) + " | " + 
		              		
		              			"EmotRight = " + String.valueOf(getEmotRight()
 	) + " | " + 
		              		
		              			"Bubble = " + String.valueOf(getBubble()
 	) + " | " + 
		              		
		              			"Anim = " + String.valueOf(getAnim()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java2540
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointStatic.java560
		              			"DomPoint = " + String.valueOf(isDomPoint()
 	) + " | " + 
		              		
		              			"Door = " + String.valueOf(isDoor()
 	) + " | " + 
		              		
		              			"LiftCenter = " + String.valueOf(isLiftCenter()
 	) + " | " + 
		              		
		              			"LiftExit = " + String.valueOf(isLiftExit()
 	) + " | " + 
		              		
		              			"AIMarker = " + String.valueOf(isAIMarker()
 	) + " | " + 
		              		
		              			"JumpSpot = " + String.valueOf(isJumpSpot()
 	) + " | " + 
		              		
		              			"JumpPad = " + String.valueOf(isJumpPad()
 	) + " | " + 
		              		
		              			"JumpDest = " + String.valueOf(isJumpDest()
 	) + " | " + 
		              		
		              			"Teleporter = " + String.valueOf(isTeleporter()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"RoamingSpot = " + String.valueOf(isRoamingSpot()
 	) + " | " + 
		              		
		              			"SnipingSpot = " + String.valueOf(isSnipingSpot()
 	) + " | " + 
		              		
		              			"PreferedWeapon = " + String.valueOf(getPreferedWeapon()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java2326
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointSharedImpl.java317
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"ItemSpawned = " + String.valueOf(isItemSpawned()
 	) + " | " + 
		              		
		              			"DoorOpened = " + String.valueOf(isDoorOpened()
 	) + " | " + 
		              		
		              			"DomPointController = " + String.valueOf(getDomPointController()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>ItemSpawned</b> = " + String.valueOf(isItemSpawned()
 	) + " <br/> " + 
		              		
		              			"<b>DoorOpened</b> = " + String.valueOf(isDoorOpened()
 	) + " <br/> " + 
		              		
		              			"<b>DomPointController</b> = " + String.valueOf(getDomPointController()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPoint.java471
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointStaticImpl.java1400
		              			"DomPoint = " + String.valueOf(isDomPoint()
 	) + " | " + 
		              		
		              			"Door = " + String.valueOf(isDoor()
 	) + " | " + 
		              		
		              			"LiftCenter = " + String.valueOf(isLiftCenter()
 	) + " | " + 
		              		
		              			"LiftExit = " + String.valueOf(isLiftExit()
 	) + " | " + 
		              		
		              			"AIMarker = " + String.valueOf(isAIMarker()
 	) + " | " + 
		              		
		              			"JumpSpot = " + String.valueOf(isJumpSpot()
 	) + " | " + 
		              		
		              			"JumpPad = " + String.valueOf(isJumpPad()
 	) + " | " + 
		              		
		              			"JumpDest = " + String.valueOf(isJumpDest()
 	) + " | " + 
		              		
		              			"Teleporter = " + String.valueOf(isTeleporter()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"RoamingSpot = " + String.valueOf(isRoamingSpot()
 	) + " | " + 
		              		
		              			"SnipingSpot = " + String.valueOf(isSnipingSpot()
 	) + " | " + 
		              		
		              			"PreferedWeapon = " + String.valueOf(getPreferedWeapon()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessageLocalImpl.java48
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessageLocalImpl.java194
			public InitedMessageLocalImpl(InitedMessageLocal original) {
				
						this.BotId = original.getBotId()
 	;
					
						this.HealthStart = original.getHealthStart()
 	;
					
						this.HealthFull = original.getHealthFull()
 	;
					
						this.HealthMax = original.getHealthMax()
 	;
					
						this.AdrenalineStart = original.getAdrenalineStart()
 	;
					
						this.AdrenalineMax = original.getAdrenalineMax()
 	;
					
						this.ShieldStrengthStart = original.getShieldStrengthStart()
 	;
					
						this.ShieldStrengthMax = original.getShieldStrengthMax()
 	;
					
						this.MaxMultiJump = original.getMaxMultiJump()
 	;
					
						this.DamageScaling = original.getDamageScaling()
 	;
					
						this.GroundSpeed = original.getGroundSpeed()
 	;
					
						this.WaterSpeed = original.getWaterSpeed()
 	;
					
						this.AirSpeed = original.getAirSpeed()
 	;
					
						this.LadderSpeed = original.getLadderSpeed()
 	;
					
						this.AccelRate = original.getAccelRate()
 	;
					
						this.JumpZ = original.getJumpZ()
 	;
					
						this.MultiJumpBoost = original.getMultiJumpBoost()
 	;
					
						this.MaxFallSpeed = original.getMaxFallSpeed()
 	;
					
						this.DodgeSpeedFactor = original.getDodgeSpeedFactor()
 	;
					
						this.DodgeSpeedZ = original.getDodgeSpeedZ()
 	;
					
						this.AirControl = original.getAirControl()
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BombInfoMessage.java807
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BombInfoSharedImpl.java332
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Holder = " + String.valueOf(getHolder()
 	) + " | " + 
		              		
		              			"HolderTeam = " + String.valueOf(getHolderTeam()
 	) + " | " + 
		              		
		              			"State = " + String.valueOf(getState()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Holder</b> = " + String.valueOf(getHolder()
 	) + " <br/> " + 
		              		
		              			"<b>HolderTeam</b> = " + String.valueOf(getHolderTeam()
 	) + " <br/> " + 
		              		
		              			"<b>State</b> = " + String.valueOf(getState()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java2329
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointShared.java151
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"ItemSpawned = " + String.valueOf(isItemSpawned()
 	) + " | " + 
		              		
		              			"DoorOpened = " + String.valueOf(isDoorOpened()
 	) + " | " + 
		              		
		              			"DomPointController = " + String.valueOf(getDomPointController()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>ItemSpawned</b> = " + String.valueOf(isItemSpawned()
 	) + " <br/> " + 
		              		
		              			"<b>DoorOpened</b> = " + String.valueOf(isDoorOpened()
 	) + " <br/> " + 
		              		
		              			"<b>DomPointController</b> = " + String.valueOf(getDomPointController()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/FlagInfo.java216
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/FlagInfoMessage.java874
		}
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Holder = " + String.valueOf(getHolder()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
		              			"State = " + String.valueOf(getState()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Holder</b> = " + String.valueOf(getHolder()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
		              			"<b>State</b> = " + String.valueOf(getState()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BombInfoMessage.java810
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BombInfoShared.java157
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Holder = " + String.valueOf(getHolder()
 	) + " | " + 
		              		
		              			"HolderTeam = " + String.valueOf(getHolderTeam()
 	) + " | " + 
		              		
		              			"State = " + String.valueOf(getState()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Holder</b> = " + String.valueOf(getHolder()
 	) + " <br/> " + 
		              		
		              			"<b>HolderTeam</b> = " + String.valueOf(getHolderTeam()
 	) + " <br/> " + 
		              		
		              			"<b>State</b> = " + String.valueOf(getState()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/state/ItemListState.java58
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/ItemListState.java57
			if (context.getLogger().isLoggable(Level.FINE)) context.getLogger().fine("Pushing NavPoint events.");
			context.getEventQueue().pushEvent(context.getNavPoints().values().toArray(new IWorldChangeEvent[0]));
			if (context.getLogger().isLoggable(Level.FINE)) context.getLogger().fine("Pushing Item events.");
			context.getEventQueue().pushEvent(context.getItems().values().toArray(new IWorldChangeEvent[0]));
			context.getEventQueue().pushEvent(new MapPointListObtained(context.getNavPoints(), context.getItems(), simTime));
		} else {
			if (context.getLogger().isLoggable(Level.FINE)) context.getLogger().fine("Pushing Item events.");
			context.getEventQueue().pushEvent(context.getItems().values().toArray(new IWorldChangeEvent[0]));
		}
		
	}
	
}
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/UT2004PathExecutor.java305
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/UT2004AcceleratedPathExecutor.java355
        result += self.getLocation().getDistance(path.get(currPathIndex).getLocation());
        ++currPathIndex;

        for (int i = currPathIndex; i < path.size(); ++i) {
            result += path.get(i - 1).getLocation().getDistance(path.get(i).getLocation());
        }

        return result;
    }

    @Override
    public ILocated getFocus() {
        return this.focus;
    }

    @Override
    public void setFocus(ILocated located) {
        this.focus = located;
    }

    @Override
    public List<IStuckDetector> getStuckDetectors() {
        return stuckDetectors;
    }

    @Override
    protected void preStuckImpl() {
        super.preStuckImpl();
    }

    @Override
    protected void stuckImpl() {
    }

    @Override
    protected void stopImpl() {
        super.stopImpl();
    }

    @Override
    protected void preTargetReachedImpl() {
        super.preTargetReachedImpl();
    }

    @Override
    protected void targetReachedImpl() {
    }

    public IUT2004PathNavigator<PATH_ELEMENT> getNavigator() {
        return navigator;
    }
}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/EntitySharedImpl.java208
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/FlagInfoSharedImpl.java254
    (MoverShared data, long time, ITeamId teamId)
			{
				this.object = data;
				this.time = time;
				this.teamId = teamId;
			}
			
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */
			@Override
			public long getSimTime() {
				return this.time;
			}
	
			@Override
			public WorldObjectId getId() {
				return object.getId();
			}
	
			@Override
			public ITeamId getTeamId() {
				return teamId;
			}
			
			@Override
			public Class getCompositeObjectClass()
			{
				return object.getCompositeClass();
			}
	
			@Override
			public Collection<ISharedPropertyUpdatedEvent> getPropertyEvents() {
				LinkedList<ISharedPropertyUpdatedEvent> events = new LinkedList<ISharedPropertyUpdatedEvent>();
				
				for ( ISharedProperty property : object.getProperties().values() )
				{
					if ( property != null)
					{
						events.push( property.createUpdateEvent(time, teamId) );
					}
				}
				return events;
			}
			
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/state/ObserverRunningState.java58
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/ServerRunningState.java58
public class ServerRunningState extends AbstractServerFSMState<InfoMessage, TranslatorContext> {

    @Override
    public void stateEntering(TranslatorContext context, IFSMState<InfoMessage, TranslatorContext> arg1, InfoMessage arg2) {
    }

    @Override
    protected void innerStateSymbol(TranslatorContext context, InfoMessage obj) {
        if (obj instanceof IWorldChangeEvent) {
        	if (obj instanceof HandShakeEnd) {
        		long simTime = ((IWorldChangeEvent)obj).getSimTime();
        		context.getEventQueue().pushEvent(new MapPointListObtained(context.getNavPoints(), context.getItems(), simTime));
        	} else {
        		context.getEventQueue().pushEvent((IWorldChangeEvent) obj);
        	}
        } else {
        	throw new UnexpectedMessageException(TranslatorMessages.messageNotWorldEvent(this, obj), context.getLogger(), this);
        }

    }

    @Override
    public void stateLeaving(TranslatorContext context, IFSMState<InfoMessage, TranslatorContext> arg1, InfoMessage symbol) {
    }

    @Override
    public void init(TranslatorContext arg0) {        
    }

    @Override
    public void restart(TranslatorContext arg0) {
    }
    
}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/state/MutatorListState.java28
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/MutatorListState.java28
public class MutatorListState extends ServerListState<Mutator, TranslatorContext>{

	public MutatorListState() {
		super(MutatorListStart.class, Mutator.class, MutatorListEnd.class);
	}
	
	@Override
	public void stateEntering(TranslatorContext context, IFSMState<InfoMessage, TranslatorContext> fromState, InfoMessage symbol) {
		super.restart(context);
		super.stateEntering(context, fromState, symbol);
	}
	
	@Override
	public void stateLeaving(TranslatorContext context, IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
		super.stateLeaving(context, toState, symbol);
		long simTime = 
			(symbol instanceof IWorldChangeEvent ? ((IWorldChangeEvent)symbol).getSimTime() : 0);
		context.getEventQueue().pushEvent(new MutatorListObtained(getList(), simTime));
		newList();
	}
	
	@Override
	protected void innerStateSymbol(TranslatorContext context,
			InfoMessage symbol) {
		super.innerStateSymbol(context, symbol);
		if (symbol instanceof Mutator) {
			context.getEventQueue().pushEvent((Mutator)symbol);
		}
	}
	

}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerJoinsGame.java84
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerLeft.java86
		public PlayerLeft(PlayerLeft original) {		
			
					this.Id = original.getId()
 	;
				
					this.Name = original.getName()
 	;
				
			this.SimTime = original.getSimTime();			
		}
		
	   		
			protected long SimTime;
				
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */	
			@Override
			public long getSimTime() {
				return SimTime;
			}
						
			/**
			 * Used by Yylex to slip correct time of the object or programmatically.
			 */
			protected void setSimTime(long SimTime) {
				this.SimTime = SimTime;
			}
	   	
    	
	    /**
         * Unique Id of the player who left. 
         */
        protected
         UnrealId Id =
       	null;
	
 		/**
         * Unique Id of the player who left. 
         */
        public  UnrealId getId()
 	 {
    					return Id;
    				}
    			
    	
	    /**
         * The name of the player. 
         */
        protected
         String Name =
       	null;
	
 		/**
         * The name of the player. 
         */
        public  String getName()
 	 {
    					return Name;
    				}
    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Name = " + String.valueOf(getName()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Name</b> = " + String.valueOf(getName()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 	    public String toJsonLiteral() {
            return "playerleft( "
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PickedUsableObject.java88
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SpawnedUsableObject.java88
		public SpawnedUsableObject(SpawnedUsableObject original) {		
			
					this.Name = original.getName()
 	;
				
					this.Location = original.getLocation()
 	;
				
			this.SimTime = original.getSimTime();			
		}
		
	   		
			protected long SimTime;
				
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */	
			@Override
			public long getSimTime() {
				return SimTime;
			}
						
			/**
			 * Used by Yylex to slip correct time of the object or programmatically.
			 */
			protected void setSimTime(long SimTime) {
				this.SimTime = SimTime;
			}
	   	
    	
	    /**
         * 
			Name of the picked usable object.
		 
         */
        protected
         String Name =
       	null;
	
 		/**
         * 
			Name of the picked usable object.
		 
         */
        public  String getName()
 	 {
    					return Name;
    				}
    			
    	
	    /**
         * 
			Location of the usable object.
		 
         */
        protected
         Location Location =
       	null;
	
 		/**
         * 
			Location of the usable object.
		 
         */
        public  Location getLocation()
 	 {
    					return Location;
    				}
    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Name = " + String.valueOf(getName()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Name</b> = " + String.valueOf(getName()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 	    public String toJsonLiteral() {
            return "spawnedusableobject( "
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Mutator.java93
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerJoinsGame.java84
		public PlayerJoinsGame(PlayerJoinsGame original) {		
			
					this.Id = original.getId()
 	;
				
					this.Name = original.getName()
 	;
				
			this.SimTime = original.getSimTime();			
		}
		
	   		
			protected long SimTime;
				
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */	
			@Override
			public long getSimTime() {
				return SimTime;
			}
						
			/**
			 * Used by Yylex to slip correct time of the object or programmatically.
			 */
			protected void setSimTime(long SimTime) {
				this.SimTime = SimTime;
			}
	   	
    	
	    /**
         * Unique Id of the player. 
         */
        protected
         UnrealId Id =
       	null;
	
 		/**
         * Unique Id of the player. 
         */
        public  UnrealId getId()
 	 {
    					return Id;
    				}
    			
    	
	    /**
         * Name of the player. 
         */
        protected
         String Name =
       	null;
	
 		/**
         * Name of the player. 
         */
        public  String getName()
 	 {
    					return Name;
    				}
    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Name = " + String.valueOf(getName()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Name</b> = " + String.valueOf(getName()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 	    public String toJsonLiteral() {
            return "playerjoinsgame( "
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/HelloControlServerHandshake.java90
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/HelloObserverHandshake.java90
		public HelloObserverHandshake(HelloObserverHandshake original) {		
			
					this.Game = original.getGame()
 	;
				
					this.Version = original.getVersion()
 	;
				
			this.SimTime = original.getSimTime();			
		}
		
	   		
			protected long SimTime;
				
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */	
			@Override
			public long getSimTime() {
				return SimTime;
			}
						
			/**
			 * Used by Yylex to slip correct time of the object or programmatically.
			 */
			protected void setSimTime(long SimTime) {
				this.SimTime = SimTime;
			}
	   	
    	
	    /**
         * 
			Name of the Unreal Tournament version these GameBots are running on (UT2004, UE2, UDK, UT3...).
		 
         */
        protected
         String Game =
       	null;
	
 		/**
         * 
			Name of the Unreal Tournament version these GameBots are running on (UT2004, UE2, UDK, UT3...).
		 
         */
        public  String getGame()
 	 {
    					return Game;
    				}
    			
    	
	    /**
         * 
			Version number of GameBots.
		 
         */
        protected
         String Version =
       	null;
	
 		/**
         * 
			Version number of GameBots.
		 
         */
        public  String getVersion()
 	 {
    					return Version;
    				}
    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Game = " + String.valueOf(getGame()
 	) + " | " + 
		              		
		              			"Version = " + String.valueOf(getVersion()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Game</b> = " + String.valueOf(getGame()
 	) + " <br/> " + 
		              		
		              			"<b>Version</b> = " + String.valueOf(getVersion()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 	    public String toJsonLiteral() {
            return "helloobserverhandshake( "
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BeginMessage.java88
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/EndMessage.java90
		public EndMessage(EndMessage original) {		
			
					this.Time = original.getTime()
 	;
				
					this.VisUpdate = original.isVisUpdate()
 	;
				
			this.SimTime = original.getSimTime();			
		}
		
	   		
			protected long SimTime;
				
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */	
			@Override
			public long getSimTime() {
				return SimTime;
			}
						
			/**
			 * Used by Yylex to slip correct time of the object or programmatically.
			 */
			protected void setSimTime(long SimTime) {
				this.SimTime = SimTime;
			}
	   	
    	
	    /**
         * 
			Time, when the message was sent - intern UT time.
		 
         */
        protected
         double Time =
       	0;
	
 		/**
         * 
			Time, when the message was sent - intern UT time.
		 
         */
        public  double getTime()
 	 {
    					return Time;
    				}
    			
    	
	    /**
         * Sent only if new synchronous batch procotol is used (NewSelfBatchProtocol attribute in INIT message). If true it means this sync. batches contains also visiblity information - PLR, INV, PRJ messages... If false, it means that only SELF message is in this synchronous batch. 
         */
        protected
         boolean VisUpdate =
       	false;
	
 		/**
         * Sent only if new synchronous batch procotol is used (NewSelfBatchProtocol attribute in INIT message). If true it means this sync. batches contains also visiblity information - PLR, INV, PRJ messages... If false, it means that only SELF message is in this synchronous batch. 
         */
        public  boolean isVisUpdate()
 	 {
    					return VisUpdate;
    				}
    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Time = " + String.valueOf(getTime()
 	) + " | " + 
		              		
		              			"VisUpdate = " + String.valueOf(isVisUpdate()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Time</b> = " + String.valueOf(getTime()
 	) + " <br/> " + 
		              		
		              			"<b>VisUpdate</b> = " + String.valueOf(isVisUpdate()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 	    public String toJsonLiteral() {
            return "endmessage( "
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AliveMessageSharedImpl.java119
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessageSharedImpl.java118
    (InitedMessageShared data, long time, ITeamId teamId)
			{
				this.object = data;
				this.time = time;
				this.teamId = teamId;
			}
			
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */
			@Override
			public long getSimTime() {
				return this.time;
			}
	
			@Override
			public WorldObjectId getId() {
				return object.getId();
			}
	
			@Override
			public ITeamId getTeamId() {
				return teamId;
			}
			
			@Override
			public Class getCompositeObjectClass()
			{
				return object.getCompositeClass();
			}
	
			@Override
			public Collection<ISharedPropertyUpdatedEvent> getPropertyEvents() {
				LinkedList<ISharedPropertyUpdatedEvent> events = new LinkedList<ISharedPropertyUpdatedEvent>();
				
				for ( ISharedProperty property : object.getProperties().values() )
				{
					if ( property != null)
					{
						events.push( property.createUpdateEvent(time, teamId) );
					}
				}
				return events;
			}
			
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/NavMesh.java1162
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/NavMesh.java1250
            if (atom.getClass() == OffMeshPoint.class) {
                NavPoint np = (NavPoint) worldView.get(((OffMeshPoint) atom).getNavPointId());
                path.add(np);
            } // * -> polygon
            else {

                NavMeshPolygon polygon = (NavMeshPolygon) atom;
                // point -> polygon
                if (lastAtom == null || lastAtom.getClass() == OffMeshPoint.class) {
                    OffMeshPoint op = (OffMeshPoint) lastAtom;

                    // was lastAtom inside this polygon?
                    boolean inside;
                    if (lastAtom == null) {
                        inside = polygonContainsPoint(polygon.getPolygonId(), new Point2D(from.getLocation().x, from.getLocation().y));
                    } else {
                        inside = false;
                        List<OffMeshPoint> offPs = polysToOffMeshPoints.get(polygon.getPolygonId());
                        for (OffMeshPoint op2 : offPs) {
                            if (op2.equals(op)) {
                                inside = true;
                            }
                        }
                    }

                    if (inside) {
                        // nothing
                    } else {
                        // add center
                        path.add(getLocation(atom));
                    }
                } // polygon -> polygon
                else {
FileLine
cz/cuni/amis/pogamut/ut2004/bot/command/AdvancedLocomotion.java456
cz/cuni/amis/pogamut/ut2004/bot/command/AdvancedLocomotion.java484
    public void dodgeRight(ILocated inFrontOfTheBot, boolean bDouble) {
        ILocated bot = self.getLocation();
        Location direction = new Location(inFrontOfTheBot.getLocation().x - bot.getLocation().x, inFrontOfTheBot.getLocation().y - bot.getLocation().y, 0);
        direction = direction.getNormalized();

        double x = direction.getX();
        double y = direction.getY();

        direction = new Location(-y, x, 0);

        double alpha = Math.acos(self.getRotation().toLocation().getNormalized().dot(direction.getNormalized()));

        double orientation = self.getRotation().toLocation().cross(new Location(0, 0, 1)).dot(direction);
        if (orientation > 0) {
            alpha = -alpha;
        }

        Matrix3d rot = Rotation.constructXYRot(alpha);
        direction = new Location(1, 0, 0).mul(rot);
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Self.java66
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfLocal.java70
						}
	
						
		    			
 		/**
         * Unique Id of this self message instance. 
         */
        public abstract UnrealId getId()
 	;
		    			
 		/**
         * Unique Id of this bot. 
         */
        public abstract UnrealId getBotId()
 	;
		    			
 		/**
         * Human readable bot name. 
         */
        public abstract String getName()
 	;
		    			
 		/**
         * If we are vehicle just these attr. are sent in SLF: "Id","Vehicle""Rotation", "Location","Velocity ","Name ","Team" ,"Health" 
	"Armor","Adrenaline", "FloorLocation", "FloorNormal". 
         */
        public abstract boolean isVehicle()
 	;
		    			
 		/**
         * 
			An absolute location of the bot.
		 
         */
        public abstract Location getLocation()
 	;
		    			
 		/**
         * 
			Absolute velocity of the bot as a vector of movement per one
			game second.
		 
         */
        public abstract Velocity getVelocity()
 	;
		    			
 		/**
         * 
			Which direction the bot is facing in absolute terms.
		 
         */
        public abstract Rotation getRotation()
 	;
		    			
 		/**
         * 
			What team the bot is on. 255 is no team. 0-3 are red,
			blue, green, gold in that order.
		 
         */
        public abstract int getTeam()
 	;
		    			
 		/**
         * 
			Id of the weapon we are holding. This is unique Id of an
			item in our inventory and is different from the Id of the
			item we pick up from the ground! We can parse this string to
			look which weapon we hold. Weapon strings to look for
			include: "AssaultRifle", "ShieldGun", "FlakCannon",
			"BioRifle", "ShockRifle", "LinkGun", "SniperRifle",
			"RocketLauncher", "Minigun", "LightingGun", "Translocator".
			TODO: Look if this is all.
		 
         */
        public abstract String getWeapon()
 	;
		    			
 		/**
         * If the bot is shooting or not. 
         */
        public abstract boolean isShooting()
 	;
		    			
 		/**
         * 
			How much health the bot has left. Starts at 100, ranges from
			0 to 200.
		 
         */
        public abstract int getHealth()
 	;
		    			
 		/**
         * 
			How much ammo the bot has left for current weapon primary
			mode.
		 
         */
        public abstract int getPrimaryAmmo()
 	;
		    			
 		/**
         * 
			How much ammo the bot has left for current weapon secondary
			mode. Weapon does not have to support sec. fire mode.
		 
         */
        public abstract int getSecondaryAmmo()
 	;
		    			
 		/**
         * How much adrenaline the bot has. 
         */
        public abstract int getAdrenaline()
 	;
		    			
 		/**
         * 
			Combined size of high armor and low armor (or small armor). The high and low armor are tracked
                        separately. Low armor is limited to 50 points, while the
                        high armor can have up to 150 points. Both stacks can have a combined size of 150 points as well,
                        so if low armor is already at 50 points, high armor can have
                        100 points at max.
		 
         */
        public abstract int getArmor()
 	;
		    			
 		/**
         * 
			Also refered to as a "low armor". Ranges from 0 to 50 points.
		 
         */
        public abstract int getSmallArmor()
 	;
		    			
 		/**
         * 
			If we are firing in secondary firing mode. 
		 
         */
        public abstract boolean isAltFiring()
 	;
		    			
 		/**
         * 
			If we are currently crouched.
		 
         */
        public abstract boolean isCrouched()
 	;
		    			
 		/**
         * 
			If we are currently in walking mode.
		 
         */
        public abstract boolean isWalking()
 	;
		    			
 		/**
         * 
			Holds current floor location under the bot.
		 
         */
        public abstract Location getFloorLocation()
 	;
		    			
 		/**
         * 
			Holds current floor normal under the bot.
		 
         */
        public abstract Location getFloorNormal()
 	;
		    			
 		/**
         * 
			Name of the current combo (None if no combo active).
			Can be xGame.ComboBerserk, xGame.ComboDefensive, xGame.ComboInvis or xGame.ComboSpeed.
			To trigger combo adrenaline needs to be at 100 (maximum) and no other combo can be active.
		 
         */
        public abstract String getCombo()
 	;
		    			
 		/**
         * 
			Time when the UDamage effect expires. If the number is higher then the current
			time, it means the bot has UDamage effect active right now.
		 
         */
        public abstract double getUDamageTime()
 	;
		    			
 		/**
         * 
			Name of the current BDI action.
		 
         */
        public abstract String getAction()
 	;
		    			
 		/**
         * 
			For UE2. Holds left emoticon of the bot, "None" means none set.
		 
         */
        public abstract String getEmotLeft()
 	;
		    			
 		/**
         * 
			For UE2. Holds center emoticon of the bot, "None" means none set.
		 
         */
        public abstract String getEmotCenter()
 	;
		    			
 		/**
         * 
			For UE2. Holds right emoticon of the bot, "None" means none set.
		 
         */
        public abstract String getEmotRight()
 	;
		    			
 		/**
         * 
			For UE2. Holds the bubble of the emoticon of the bot, "None" means none set.
		 
         */
        public abstract String getBubble()
 	;
		    			
 		/**
         * 
			For UE2. Current played animation of the bot.
		 
         */
        public abstract String getAnim()
 	;
		    			
    	
    	
    	
    	public SelfLocal getLocal() {
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/loquenavigator/LoqueNavigator.java684
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigator.java671
    }

    //
    // NAVIG MOVER VARIABLES
    //
    private int navigMoverRideUpCount;

    private int navigMoverRideDownCount;

    private Boolean navigMoverIsRidingUp;

    private Boolean navigMoverIsRidingDown;

    private void resetNavigMoverVariables() {
        navigMoverIsRidingUp = null;
        navigMoverIsRidingDown = null;
        navigMoverRideUpCount = 0;
        navigMoverRideDownCount = 0;
    }

    private void checkMoverMovement(Mover mover) {
        // ASSUMING THAT MOVER IS ALWAYS ... riding fully UP, riding fully DOWN (or vice versa) and passing all possible exits
        if (mover.getVelocity().z > 0) {
            // mover is riding UP
            if (navigMoverIsRidingUp == null) {
                navigMoverIsRidingUp = true;
                navigMoverIsRidingDown = false;
                navigMoverRideUpCount = 1;
                navigMoverRideDownCount = 0;
            } else if (navigMoverIsRidingDown) {
                navigMoverIsRidingUp = true;
                navigMoverIsRidingDown = false;
                ++navigMoverRideUpCount;
            }
        } else if (mover.getVelocity().z < 0) {
            // mover is riding DOWN
            if (navigMoverIsRidingDown == null) {
                navigMoverIsRidingUp = false;
                navigMoverIsRidingDown = true;
                navigMoverRideUpCount = 0;
                navigMoverRideDownCount = 1;
            } else if (navigMoverIsRidingUp) {
                navigMoverIsRidingUp = false;
                navigMoverIsRidingDown = true;
                ++navigMoverRideDownCount;
            }
        }
    }

    /*========================================================================*/
    /**
     * Gets the link with movement information between two navigation points.
     * Holds information about how we can traverse from the start to the end
     * navigation point.
     *
     * @return NavPointNeighbourLink or null
     */
    private NavPointNeighbourLink getNavPointsLink(NavPoint start, NavPoint end) {
        if (start == null) {
            //if start NavPoint is not provided, we try to find some
            NavPoint tmp = getNavPoint(memory.getLocation());
            if (tmp != null) {
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/UT2004Navigation.java683
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigation.java808
            if (pathExecutor.isExecuting()) {
                pathExecutor.getPath().set(pathExecutor.getPath().size() - 1, bot.getLocation());
            } else {
                targetReached();
            }
            return;
        }

        if (hDistance < 400 && Math.abs(vDistance) < 50) {
            // RUN STRAIGHT			
            if (runningStraightToPlayer) {
                if (runStraight.isFailed()) {
                    runningStraightToPlayer = false;
                    runningStraightToPlayerFailedAt = bot.getLocation();
                }
            } else {
                if (runningStraightToPlayerFailedAt == null || // we have not failed previously
                        bot.getLocation().getDistance(runningStraightToPlayerFailedAt) > 500 // or place where we have failed is too distant
                        ) {
                    if (getBackToNavGraph.isExecuting()) {
                        getBackToNavGraph.stop();
                        usingGetBackToNavGraph = false;
                    }
                    if (pathExecutor.isExecuting()) {
                        pathExecutor.stop();
                    }
                    runningStraightToPlayer = true;
                    runningStraightToPlayerFailedAt = null;
                    runStraight.runStraight(currentTargetPlayer);
                }
            }
            if (runningStraightToPlayer) {
                if (log != null && log.isLoggable(Level.FINE)) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbcommands/SendControlMessage.java684
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ControlMessage.java469
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
		              			"<b>PS1</b> = " + String.valueOf(getPS1()
 	) + " <br/> " + 
		              		
		              			"<b>PS2</b> = " + String.valueOf(getPS2()
 	) + " <br/> " + 
		              		
		              			"<b>PS3</b> = " + String.valueOf(getPS3()
 	) + " <br/> " + 
		              		
		              			"<b>PI1</b> = " + String.valueOf(getPI1()
 	) + " <br/> " + 
		              		
		              			"<b>PI2</b> = " + String.valueOf(getPI2()
 	) + " <br/> " + 
		              		
		              			"<b>PI3</b> = " + String.valueOf(getPI3()
 	) + " <br/> " + 
		              		
		              			"<b>PF1</b> = " + String.valueOf(getPF1()
 	) + " <br/> " + 
		              		
		              			"<b>PF2</b> = " + String.valueOf(getPF2()
 	) + " <br/> " + 
		              		
		              			"<b>PF3</b> = " + String.valueOf(getPF3()
 	) + " <br/> " + 
		              		
		              			"<b>PB1</b> = " + String.valueOf(isPB1()
 	) + " <br/> " + 
		              		
		              			"<b>PB2</b> = " + String.valueOf(isPB2()
 	) + " <br/> " + 
		              		
		              			"<b>PB3</b> = " + String.valueOf(isPB3()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 	    public String toJsonLiteral() {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRaySharedImpl.java138
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamScoreSharedImpl.java187
    (VehicleShared data, long time, ITeamId teamId)
			{
				this.object = data;
				this.time = time;
				this.teamId = teamId;
			}
			
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */
			@Override
			public long getSimTime() {
				return this.time;
			}
	
			@Override
			public WorldObjectId getId() {
				return object.getId();
			}
	
			@Override
			public ITeamId getTeamId() {
				return teamId;
			}
			
			@Override
			public Class getCompositeObjectClass()
			{
				return object.getCompositeClass();
			}
	
			@Override
			public Collection<ISharedPropertyUpdatedEvent> getPropertyEvents() {
				LinkedList<ISharedPropertyUpdatedEvent> events = new LinkedList<ISharedPropertyUpdatedEvent>();
				
				for ( ISharedProperty property : object.getProperties().values() )
				{
					if ( property != null)
					{
						events.push( property.createUpdateEvent(time, teamId) );
					}
				}
				return events;
			}
			
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRayMessage.java906
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MyInventoryMessage.java648
		    			SelfSharedMessage clone() {
		    				return this;
		    			}
		    			
		
		
		
		protected HashMap<PropertyId, ISharedProperty> propertyMap = new HashMap<PropertyId, ISharedProperty>(
			0
		);
		
		@Override
		public ISharedProperty getProperty(PropertyId id) {
			return propertyMap.get(id);
		}

		@Override
		public Map<PropertyId, ISharedProperty> getProperties() {
			return propertyMap;
		}
	
		
		
 		/**
         * Unique Id of this self message instance. 
         */
        public  UnrealId getId()
 	 {
  			return Id;
  		}
  		
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=message]) ---        	            	
 	
		}
 	
    	
    	
 	
		@Override
		public IWorldObjectUpdateResult<IWorldObject> update(IWorldObject object) {
			if (object == null)
			{
				return new IWorldObjectUpdateResult.WorldObjectUpdateResult(IWorldObjectUpdateResult.Result.CREATED, this);
			}
			if (!( object instanceof SelfMessage) ) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeLocalImpl.java212
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeLocalImpl.java273
		public ConfigChangeLocalImpl(ConfigChangeLocalImpl original) {		
			
					this.Id = original.getId()
 	;
				
					this.BotId = original.getBotId()
 	;
				
					this.ManualSpawn = original.isManualSpawn()
 	;
				
					this.AutoTrace = original.isAutoTrace()
 	;
				
					this.Name = original.getName()
 	;
				
					this.SpeedMultiplier = original.getSpeedMultiplier()
 	;
				
					this.RotationRate = original.getRotationRate()
 	;
				
					this.Invulnerable = original.isInvulnerable()
 	;
				
					this.SelfUpdateTime = original.getSelfUpdateTime()
 	;
				
					this.VisionTime = original.getVisionTime()
 	;
				
					this.LocUpdateMultiplier = original.getLocUpdateMultiplier()
 	;
				
					this.ShowDebug = original.isShowDebug()
 	;
				
					this.ShowFocalPoint = original.isShowFocalPoint()
 	;
				
					this.DrawTraceLines = original.isDrawTraceLines()
 	;
				
					this.SynchronousOff = original.isSynchronousOff()
 	;
				
					this.AutoPickupOff = original.isAutoPickupOff()
 	;
				
					this.Action = original.getAction()
 	;
				
			this.SimTime = original.getSimTime();
		}
		
			/**
			 * Cloning constructor from the message part.
			 *
			 * @param original
			 */
			public ConfigChangeLocalImpl(ConfigChangeLocal original) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/FlagInfoMessage.java728
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/FlagInfoSharedImpl.java299
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Holder = " + String.valueOf(getHolder()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"State = " + String.valueOf(getState()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Holder</b> = " + String.valueOf(getHolder()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>State</b> = " + String.valueOf(getState()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerMessage.java1648
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerMessage.java1956
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Weapon</b> = " + String.valueOf(getWeapon()
 	) + " <br/> " + 
		              		
		              			"<b>Crouched</b> = " + String.valueOf(isCrouched()
 	) + " <br/> " + 
		              		
		              			"<b>Firing</b> = " + String.valueOf(getFiring()
 	) + " <br/> " + 
		              		
		              			"<b>EmotLeft</b> = " + String.valueOf(getEmotLeft()
 	) + " <br/> " + 
		              		
		              			"<b>EmotCenter</b> = " + String.valueOf(getEmotCenter()
 	) + " <br/> " + 
		              		
		              			"<b>EmotRight</b> = " + String.valueOf(getEmotRight()
 	) + " <br/> " + 
		              		
		              			"<b>Bubble</b> = " + String.valueOf(getBubble()
 	) + " <br/> " + 
		              		
		              			"<b>Anim</b> = " + String.valueOf(getAnim()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=base+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=base+classtype[@name=message]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPoint.java565
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointStaticImpl.java1476
		              			"<b>DomPoint</b> = " + String.valueOf(isDomPoint()
 	) + " <br/> " + 
		              		
		              			"<b>Door</b> = " + String.valueOf(isDoor()
 	) + " <br/> " + 
		              		
		              			"<b>LiftCenter</b> = " + String.valueOf(isLiftCenter()
 	) + " <br/> " + 
		              		
		              			"<b>LiftExit</b> = " + String.valueOf(isLiftExit()
 	) + " <br/> " + 
		              		
		              			"<b>AIMarker</b> = " + String.valueOf(isAIMarker()
 	) + " <br/> " + 
		              		
		              			"<b>JumpSpot</b> = " + String.valueOf(isJumpSpot()
 	) + " <br/> " + 
		              		
		              			"<b>JumpPad</b> = " + String.valueOf(isJumpPad()
 	) + " <br/> " + 
		              		
		              			"<b>JumpDest</b> = " + String.valueOf(isJumpDest()
 	) + " <br/> " + 
		              		
		              			"<b>Teleporter</b> = " + String.valueOf(isTeleporter()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>RoamingSpot</b> = " + String.valueOf(isRoamingSpot()
 	) + " <br/> " + 
		              		
		              			"<b>SnipingSpot</b> = " + String.valueOf(isSnipingSpot()
 	) + " <br/> " + 
		              		
		              			"<b>PreferedWeapon</b> = " + String.valueOf(getPreferedWeapon()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---
	                
         	  
         		    
         		    
         	            		   	
         	  
         		    
         		    
         	  
         	/**
		     * DO NOT USE THIS METHOD! Reserved for GaviaLib (Pogamut core)! It's used
		     * to set correct item instance into the NavPoint.
		     */  	
		    public void setItemInstance(Item item) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MyInventory.java165
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MyInventoryMessage.java782
		}
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"CurrentAmmo = " + String.valueOf(getCurrentAmmo()
 	) + " | " + 
		              		
		              			"CurrentAltAmmo = " + String.valueOf(getCurrentAltAmmo()
 	) + " | " + 
		              		
		              			"Amount = " + String.valueOf(getAmount()
 	) + " | " + 
		              		
		              			"Type = " + String.valueOf(getType()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>CurrentAmmo</b> = " + String.valueOf(getCurrentAmmo()
 	) + " <br/> " + 
		              		
		              			"<b>CurrentAltAmmo</b> = " + String.valueOf(getCurrentAltAmmo()
 	) + " <br/> " + 
		              		
		              			"<b>Amount</b> = " + String.valueOf(getAmount()
 	) + " <br/> " + 
		              		
		              			"<b>Type</b> = " + String.valueOf(getType()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/FlagInfoMessage.java731
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/FlagInfoShared.java143
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Holder = " + String.valueOf(getHolder()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"State = " + String.valueOf(getState()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Holder</b> = " + String.valueOf(getHolder()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>State</b> = " + String.valueOf(getState()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/ItemListState.java55
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/NavPointListState.java86
		if (context.getItems() != null && context.getItems().size() > 0) {
			context.processNavPointsAndItems();
			if (context.getLogger().isLoggable(Level.FINE)) context.getLogger().fine("Pushing NavPoint events.");
			context.getEventQueue().pushEvent(context.getNavPoints().values().toArray(new IWorldChangeEvent[0]));
			if (context.getLogger().isLoggable(Level.FINE)) context.getLogger().fine("Pushing Item events.");
			context.getEventQueue().pushEvent(context.getItems().values().toArray(new IWorldChangeEvent[0]));
			context.getEventQueue().pushEvent(new MapPointListObtained(context.getNavPoints(), context.getItems(), simTime));
		} else {
			if (context.getLogger().isLoggable(Level.FINE)) context.getLogger().fine("Pushing NavPoint events.");
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/support/ObserverMessageExpectedState.java26
cz/cuni/amis/pogamut/ut2004/communication/translator/server/support/ServerMessageExpectedState.java26
	public ServerMessageExpectedState(Class expectedMessage) {
		message = expectedMessage;
	}

	@Override
	public void init(CONTEXT context) {
	}

	@Override
	public void restart(CONTEXT context) {
	}

	@Override
	public void stateEntering(CONTEXT context,
			IFSMState<InfoMessage, CONTEXT> fromState, InfoMessage symbol) {
	}

	@Override
	public void stateLeaving(CONTEXT context, IFSMState<InfoMessage, CONTEXT> toState, InfoMessage symbol) {
		if (!symbol.getClass().equals(message)) {
			if (!message.isAssignableFrom(symbol.getClass())) {
				throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol), context.getLogger(), this);
			}
		}
	}

	@Override
	protected void innerStateSymbol(CONTEXT context, InfoMessage symbol) {
		throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol), context.getLogger(), this);
	}

}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/state/NavPointListState.java86
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/ItemListState.java55
		if (context.getNavPoints() != null && context.getNavPoints().size() != 0) {
			context.processNavPointsAndItems();
			if (context.getLogger().isLoggable(Level.FINE)) context.getLogger().fine("Pushing NavPoint events.");
			context.getEventQueue().pushEvent(context.getNavPoints().values().toArray(new IWorldChangeEvent[0]));
			if (context.getLogger().isLoggable(Level.FINE)) context.getLogger().fine("Pushing Item events.");
			context.getEventQueue().pushEvent(context.getItems().values().toArray(new IWorldChangeEvent[0]));
			context.getEventQueue().pushEvent(new MapPointListObtained(context.getNavPoints(), context.getItems(), simTime));
		} else {
			if (context.getLogger().isLoggable(Level.FINE)) context.getLogger().fine("Pushing Item events.");
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Player.java405
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerSharedImpl.java698
		              			"<b>Action</b> = " + String.valueOf(getAction()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Weapon</b> = " + String.valueOf(getWeapon()
 	) + " <br/> " + 
		              		
		              			"<b>Crouched</b> = " + String.valueOf(isCrouched()
 	) + " <br/> " + 
		              		
		              			"<b>Firing</b> = " + String.valueOf(getFiring()
 	) + " <br/> " + 
		              		
		              			"<b>EmotLeft</b> = " + String.valueOf(getEmotLeft()
 	) + " <br/> " + 
		              		
		              			"<b>EmotCenter</b> = " + String.valueOf(getEmotCenter()
 	) + " <br/> " + 
		              		
		              			"<b>EmotRight</b> = " + String.valueOf(getEmotRight()
 	) + " <br/> " + 
		              		
		              			"<b>Bubble</b> = " + String.valueOf(getBubble()
 	) + " <br/> " + 
		              		
		              			"<b>Anim</b> = " + String.valueOf(getAnim()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPoint.java565
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java2072
		              			"<b>DomPoint</b> = " + String.valueOf(isDomPoint()
 	) + " <br/> " + 
		              		
		              			"<b>Door</b> = " + String.valueOf(isDoor()
 	) + " <br/> " + 
		              		
		              			"<b>LiftCenter</b> = " + String.valueOf(isLiftCenter()
 	) + " <br/> " + 
		              		
		              			"<b>LiftExit</b> = " + String.valueOf(isLiftExit()
 	) + " <br/> " + 
		              		
		              			"<b>AIMarker</b> = " + String.valueOf(isAIMarker()
 	) + " <br/> " + 
		              		
		              			"<b>JumpSpot</b> = " + String.valueOf(isJumpSpot()
 	) + " <br/> " + 
		              		
		              			"<b>JumpPad</b> = " + String.valueOf(isJumpPad()
 	) + " <br/> " + 
		              		
		              			"<b>JumpDest</b> = " + String.valueOf(isJumpDest()
 	) + " <br/> " + 
		              		
		              			"<b>Teleporter</b> = " + String.valueOf(isTeleporter()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>RoamingSpot</b> = " + String.valueOf(isRoamingSpot()
 	) + " <br/> " + 
		              		
		              			"<b>SnipingSpot</b> = " + String.valueOf(isSnipingSpot()
 	) + " <br/> " + 
		              		
		              			"<b>PreferedWeapon</b> = " + String.valueOf(getPreferedWeapon()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/itemdescriptor/AmmoDescriptor.java66
cz/cuni/amis/pogamut/ut2004/communication/translator/itemdescriptor/WeaponDescriptor.java456
	}

	/**
	 * Initial amount of ammunition. We get this if we pick up the item for the
	 * first time.
	 * 
	 * @return priInitialAmount
	 */
	public int getPriInitialAmount() {
		return priInitialAmount;
	}

	/**
	 * Maximum amount of this ammunition we can hold in our inventory.
	 * 
	 * @return priMaxAmount
	 */
	public int getPriMaxAmount() {
		return priMaxAmount;
	}

	/**
	 * Maximum firing range. 0 if not limited - probably.
	 * 
	 * @return priMaxRange
	 * @todo Find out how this works.
	 */
	public double getPriMaxRange() {
		return priMaxRange;
	}

	/**
	 * Class of this ammunitions damage type. If ammo is not none, then this
	 * shouldn't be none either.
	 * 
	 * @return priDamageType
	 */
	public String getPriDamageType() {
		return priDamageType;
	}

	/**
	 * If this damage can be stopped by an armor.
	 * 
	 * @return priArmorStops
	 */
	public boolean isPriArmorStops() {
		return priArmorStops;
	}

	/**
	 * If this damage will kill us instantly.
	 * 
	 * @return priAlwaysGibs
	 */
	public boolean isPriAlwaysGibs() {
		return priAlwaysGibs;
	}

	/**
	 * If this damage is special.
	 * 
	 * @return priSpecial
	 * @todo find out what it is.
	 */
	public boolean isPriSpecial() {
		return priSpecial;
	}

	/**
	 * If this damage can detonate goop created by bio rifle (not sure).
	 * 
	 * @return priDetonatesGoop
	 * @todo Find out correct info.
	 */
	public boolean isPriDetonatesGoop() {
		return priDetonatesGoop;
	}

	/**
	 * If this damage is caused by super weapon and will damage also team mates
	 * even if friendly fire is off.
	 * 
	 * @return priSuperWeapon
	 */
	public boolean isPriSuperWeapon() {
		return priSuperWeapon;
	}

	/**
	 * If the hit by this damage will add some speed to the target (will "push"
	 * the target a bit).
	 * 
	 * @return priExtraMomZ
	 */
	public boolean isPriExtraMomZ() {
		return priExtraMomZ;
	}

	/**
	 * Holds the class of the projectile of this firing mode. If none, then the
	 * mode does not spawn projectiles. all the info below is then not relevant
	 * and will have default values on.
	 * 
	 * @return priProjType
	 */
	public String getPriProjType() {
		return priProjType;
	}

	/**
	 * Damage of the projectile.
	 * 
	 * @return priDamage
	 */
	public double getPriDamage() {
		return priDamage;
	}

	/**
	 * Default speed of the projectile - probably the projectile has this speed
	 * when fired.
	 * 
	 * @return priSpeed
	 */
	public double getPriSpeed() {
		return priSpeed;
	}

	/**
	 * Maximum possible speed of this projectile.
	 * 
	 * @return priMaxSpeed
	 */
	public double getPriMaxSpeed() {
		return priMaxSpeed;
	}

	/**
	 * Life span of this projectile. How long the projectile lasts in the
	 * environment. If 0 than probably unlimited.
	 * 
	 * @return priLifeSpan
	 */
	public double getPriLifeSpan() {
		return priLifeSpan;
	}

	/**
	 * If the projectile does splash damage, the value here won't be zero and
	 * will specify the radius of the splash damage in ut units.
	 * 
	 * @return priDamageRadius
	 */
	public double getPriDamageRadius() {
		return priDamageRadius;
	}

	/**
	 * Probably the amount of speed added to Z velocity vector when this
	 * projectile is fired. In UT units.
	 * 
	 * @return priTossZ
	 * @todo Find out correct info.
	 */
	public double getPriTossZ() {
		return priTossZ;
	}

	/**
	 * Maximum effective distance of the projectile. Probably 0 if not limited.
	 * 
	 * @return priMaxEffectDistance
	 * @todo Find out correct info.
	 */
	public double getPriMaxEffectDistance() {
		return priMaxEffectDistance;
	}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AliveMessageSharedImpl.java119
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerSharedImpl.java581
    (GameInfoShared data, long time, ITeamId teamId)
			{
				this.object = data;
				this.time = time;
				this.teamId = teamId;
			}
			
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */
			@Override
			public long getSimTime() {
				return this.time;
			}
	
			@Override
			public WorldObjectId getId() {
				return object.getId();
			}
	
			@Override
			public ITeamId getTeamId() {
				return teamId;
			}
			
			@Override
			public Class getCompositeObjectClass()
			{
				return object.getCompositeClass();
			}
	
			@Override
			public Collection<ISharedPropertyUpdatedEvent> getPropertyEvents() {
				LinkedList<ISharedPropertyUpdatedEvent> events = new LinkedList<ISharedPropertyUpdatedEvent>();
				
				for ( ISharedProperty property : object.getProperties().values() )
				{
					if ( property != null)
					{
						events.push( property.createUpdateEvent(time, teamId) );
					}
				}
				return events;
			}
			
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/stuckdetector/AccUT2004TimeStuckDetector.java42
cz/cuni/amis/pogamut/ut2004/agent/navigation/stuckdetector/UT2004TimeStuckDetector.java27
public class UT2004TimeStuckDetector implements IStuckDetector {

	/**
	 * Default distance that is regarded as "bot did not move a bit".
	 */
	private static final double NO_MOVEMENT_SIZE = 10;

	/**
	 * Default timeout after which the detector reports stuck if the bot did not
	 * move. In miliseconds!
	 */
	private static int DEFAULT_TIMEOUT = 3000;

	/**
	 * Default timeout when the bot is waiting for something... In milliseconds!
	 */
	private static int DEFAULT_WAITING_TIMEOUT = 10000;

	/**
	 * Owner of the detector.
	 */
	private UT2004Bot bot;

	/**
	 * Timeout used by the detector, when the bot is not waiting, initialized in
	 * the constructor.
	 */
	private double timeout;

	/**
	 * Timeout used by the detector when the bot is waiting, initialized in the
	 * constructor.
	 */
	private double waitingTimeout;

	private boolean botWaiting = false;

	/**
	 * In reset set to false. In isStuck set to true - indicator if this
	 * detector was already queried after reset about bot stucking.
	 */
	private boolean bWasIsStuckCalled = false;
	
	/** 
	 * Here we store current time of the simulation. 
	 */
	private long currentTime;

	/**
	 * Listener watching for the {@link Self} message. Recalls
	 * {@link UT2004TimeStuckDetector#eventSelf(IWorldObjectEvent)}.
	 * 
	 * @author Jimmy
	 */
	private class SelfListener implements IWorldObjectListener<Self> {

		public SelfListener(IWorldView worldView) {
			worldView.addObjectListener(Self.class, WorldObjectUpdatedEvent.class, this);
		}

		@Override
		public void notify(IWorldObjectEvent<Self> event) {
			eventSelf(event);
		}

	};
	
	/**
	 * Listener watching for the {@link EndMessage} message. Recalls
	 * {@link UT2004TimeStuckDetector#eventEndMessage(EndMessage)}.
	 * 
	 * @author Jimmy
	 */
	private class EndListener implements IWorldEventListener<EndMessage> {

		public EndListener(IWorldView worldView) {
			worldView.addEventListener(EndMessage.class, this);
		}

		@Override
		public void notify(EndMessage event) {
			eventEndMessage(event);
		}

	};

	/**
	 * Listener that triggers
	 * {@link UT2004TimeStuckDetector#eventSelf(IWorldObjectEvent)}.
	 */
	private SelfListener selfListener;
	
	/**
	 * Listener that triggers
	 * {@link UT2004TimeStuckDetector#eventEndMessage(EndMessage)}.
	 */
	private EndListener endListener;	

	/**
	 * Last time when the bot has moved (its velocity had been greater than
	 * {@link UT2004TimeStuckDetector#NO_MOVEMENT_SIZE}.
	 */
	private Double lastMovementTime = null;

	/**
	 * Whether we should report that the bot has stuck.
	 */
	private boolean stuck = false;
	
	private boolean enabled;

	private Logger log;

	public UT2004TimeStuckDetector(UT2004Bot bot) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeLocalImpl.java212
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeMessage.java214
		public ConfigChangeMessage(ConfigChangeMessage original) {		
			
					this.Id = original.getId()
 	;
				
					this.BotId = original.getBotId()
 	;
				
					this.ManualSpawn = original.isManualSpawn()
 	;
				
					this.AutoTrace = original.isAutoTrace()
 	;
				
					this.Name = original.getName()
 	;
				
					this.SpeedMultiplier = original.getSpeedMultiplier()
 	;
				
					this.RotationRate = original.getRotationRate()
 	;
				
					this.Invulnerable = original.isInvulnerable()
 	;
				
					this.SelfUpdateTime = original.getSelfUpdateTime()
 	;
				
					this.VisionTime = original.getVisionTime()
 	;
				
					this.LocUpdateMultiplier = original.getLocUpdateMultiplier()
 	;
				
					this.ShowDebug = original.isShowDebug()
 	;
				
					this.ShowFocalPoint = original.isShowFocalPoint()
 	;
				
					this.DrawTraceLines = original.isDrawTraceLines()
 	;
				
					this.SynchronousOff = original.isSynchronousOff()
 	;
				
					this.AutoPickupOff = original.isAutoPickupOff()
 	;
				
					this.Action = original.getAction()
 	;
				
				this.TeamId = original.getTeamId();
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/state/ItemListState.java31
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/ItemListState.java31
public class ItemListState extends ServerListState<Item, TranslatorContext> {

	public ItemListState() {
		super(ItemListStart.class, Item.class, ItemListEnd.class);
	}
	
	@Override
	public void stateLeaving(TranslatorContext translatorContext,
			IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
		long simTime = 
			(symbol instanceof IWorldChangeEvent ? ((IWorldChangeEvent)symbol).getSimTime() : 0);
		processItems(translatorContext.getNavPoints(), getList(), translatorContext, simTime);
		newList();
	}

	private void processItems(Map<UnrealId, NavPoint> origNavPoints, List<Item> list, TranslatorContext context, long simTime) {
		Map<UnrealId, Item> items = new HashMap<UnrealId, Item>();
		
		for (Item item : list) { 
			items.put(item.getId(), item);
		}
		
		context.setItems(items);		
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/loquenavigator/KefikRunner.java798
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshRunner.java391
            move.setFirstLocation(firstLocation.getLocation());
            if (secondLocation == null || secondLocation.equals(firstLocation)) {
                //We want to reach end of the path, we won't extend the second location.
                move.setSecondLocation(firstLocation.getLocation());
            } else {
                //Extend the second location so the bot doesn't slow down, when it's near the original target.
                double dist = firstLocation.getLocation().getDistance(secondLocation.getLocation());
                double quantifier = 1 + (200 / dist);

                Location extendedSecondLocation = firstLocation.getLocation().interpolate(secondLocation.getLocation(), quantifier);
                move.setSecondLocation(extendedSecondLocation);
            }
        } else if (secondLocation != null) {
            //First location was not set
            move.setSecondLocation(secondLocation.getLocation());
        }

        if (focus != null) {
            if (focus instanceof Player) {
                move.setFocusTarget((UnrealId) ((IWorldObject) focus).getId());
            } else {
                move.setFocusLocation(focus.getLocation());
            }
        }
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/state/PathAcceptState.java28
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/PathAcceptState.java28
public class PathAcceptState extends ServerListState<PathList, TranslatorContext> {

    private String pathId = null;

	public PathAcceptState() {
		super(PathListStart.class, PathList.class, PathListEnd.class);
	}

    @Override
	public void stateEntering(TranslatorContext context, IFSMState<InfoMessage, TranslatorContext> fromState, InfoMessage symbol) {
        super.stateEntering(context, fromState, symbol);
        pathId = ((PathListStart)symbol).getMessageId();
    }

	@Override
	public void stateLeaving(TranslatorContext context, IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
		super.stateLeaving(context, toState, symbol);
		long simTime = 
			(symbol instanceof IWorldChangeEvent ? ((IWorldChangeEvent)symbol).getSimTime() : 0);
		context.getEventQueue().pushEvent(new Path(pathId, getList(), simTime));
		getList().clear();
	}
}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/state/ItemListState.java58
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/state/NavPointListState.java88
			if (context.getLogger().isLoggable(Level.FINE)) context.getLogger().fine("Pushing NavPoint events.");
			context.getEventQueue().pushEvent(context.getNavPoints().values().toArray(new IWorldChangeEvent[0]));
			if (context.getLogger().isLoggable(Level.FINE)) context.getLogger().fine("Pushing Item events.");
			context.getEventQueue().pushEvent(context.getItems().values().toArray(new IWorldChangeEvent[0]));
			context.getEventQueue().pushEvent(new MapPointListObtained(context.getNavPoints(), context.getItems(), simTime));
		} else {
			if (context.getLogger().isLoggable(Level.FINE)) context.getLogger().fine("Pushing NavPoint events.");
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/bot/state/PathAcceptState.java33
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/PathAcceptState.java28
public class PathAcceptState extends ObserverListState<PathList, TranslatorContext> {

    private String pathId = null;

	public PathAcceptState() {
		super(PathListStart.class, PathList.class, PathListEnd.class);
	}

    @Override
	public void stateEntering(TranslatorContext context, IFSMState<InfoMessage, TranslatorContext> fromState, InfoMessage symbol) {
        super.stateEntering(context, fromState, symbol);
        pathId = ((PathListStart)symbol).getMessageId();
    }

	@Override
	public void stateLeaving(TranslatorContext context, IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
		super.stateLeaving(context, toState, symbol);
		long simTime = 
			(symbol instanceof IWorldChangeEvent ? ((IWorldChangeEvent)symbol).getSimTime() : 0);
		context.getEventQueue().pushEvent(new Path(pathId, getList(), simTime));
		getList().clear();
	}
}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeLocalImpl.java212
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeLocalImpl.java334
			public ConfigChangeLocalImpl(ConfigChangeLocal original) {
				
						this.Id = original.getId()
 	;
					
						this.BotId = original.getBotId()
 	;
					
						this.ManualSpawn = original.isManualSpawn()
 	;
					
						this.AutoTrace = original.isAutoTrace()
 	;
					
						this.Name = original.getName()
 	;
					
						this.SpeedMultiplier = original.getSpeedMultiplier()
 	;
					
						this.RotationRate = original.getRotationRate()
 	;
					
						this.Invulnerable = original.isInvulnerable()
 	;
					
						this.SelfUpdateTime = original.getSelfUpdateTime()
 	;
					
						this.VisionTime = original.getVisionTime()
 	;
					
						this.LocUpdateMultiplier = original.getLocUpdateMultiplier()
 	;
					
						this.ShowDebug = original.isShowDebug()
 	;
					
						this.ShowFocalPoint = original.isShowFocalPoint()
 	;
					
						this.DrawTraceLines = original.isDrawTraceLines()
 	;
					
						this.SynchronousOff = original.isSynchronousOff()
 	;
					
						this.AutoPickupOff = original.isAutoPickupOff()
 	;
					
						this.Action = original.getAction()
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/UT2004PathExecutor.java243
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/UT2004AcceleratedPathExecutor.java280
        if (path.size() > 31 + getPathElementIndex()) {
            List<PATH_ELEMENT> pathPart = new ArrayList<PATH_ELEMENT>(32);
            for (int i = getPathElementIndex(); i < path.size() && i < getPathElementIndex() + 31; ++i) {
                pathPart.add(path.get(i));
            }
            bot.getAct().act(new SetRoute().setRoute(pathPart));
        }

        PATH_ELEMENT pathElement = getPathElement();
        for (IStuckDetector detector : getStuckDetectors()) {
            detector.setBotTarget(pathElement);
        }
    }

    protected void calculateTimeout() {
        IPathExecutionEstimator<PATH_ELEMENT> estimator = timeoutEstimator;
        if (estimator != null) {
            pathExecutionTimeout = estimator.getTimeout(getPath());
        } else {
            pathExecutionTimeout = Long.MAX_VALUE;
        }

    }

    protected void eventLocationUpdateMessage() {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/bot/state/PasswordState.java32
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/PasswordState.java31
public class PasswordState extends AbstractObserverFSMState<InfoMessage, TranslatorContext> {
	
	@Override
	public void init(TranslatorContext context) {
	}

	@Override
	public void restart(TranslatorContext context) {
	}

	@Override
	public void stateEntering(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> fromState,
			InfoMessage symbol) {
		if (!(symbol instanceof Password)) throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, Password.class), context.getLogger(), this);
		if (!(symbol instanceof IWorldChangeEvent)) throw new UnexpectedMessageException(TranslatorMessages.messageNotWorldEvent(this, symbol), context.getLogger(), this);
		context.getEventQueue().pushEvent((IWorldChangeEvent)symbol);
	}

	@Override
	public void stateLeaving(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
	}

	@Override
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BombInfoLocalImpl.java248
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/VehicleLocalImpl.java260
				throw new PogamutException("Unsupported object type for update. Expected VehicleLocalImpl for object " + object.getId() +", not object of class " + object.getClass().getSimpleName() + ".", this);
			}
	
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */
			@Override
			public long getSimTime() {
				return this.time;
			}
	
			@Override
			public IWorldObject getObject() {
				return data;
			}
	
			@Override
			public WorldObjectId getId() {
				return data.getId();
			}
			
		}	
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=local+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=local+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/custom/ControlMessageMapper.java204
cz/cuni/amis/pogamut/ut2004/communication/messages/custom/SendControlMessageMapper.java177
					throw new RuntimeException("Cannot create SendControlMessageDeserializer for " + customControlMessageClass + " as field " + field.getDeclaringClass() + "." + field.getName() + " contains annotation ControlMessageParam(index=" + info.index() + "), unsupported. 1 <= index <= 3.");
				}
				
				Map<Integer, Field> map;
				
				if (field.getType() == Integer.class) {
					map = integers;
				} else
				if (field.getType() == Double.class) {
					map = doubles;
				} else
				if (field.getType() == String.class) {
					map = strings;
				} else
				if (field.getType() == Boolean.class) {
					map = booleans;
				} else
				if (field.getType() == UnrealId.class) {
					map = strings;
				} else 
				if (field.getType() == Location.class) {
					map = strings;
				} else {
					throw new RuntimeException("Cannot create SendControlMessageDeserializer for " + customControlMessageClass + " as field " + field.getDeclaringClass() + "." + field.getName() + " is of invalid type " + field.getType() + ", only Integer, Double, String, Boolean, UnrealId, Location is supported.");
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/NavMesh.java1195
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/NavMesh.java1289
                    NavMeshPolygon polygon2 = (NavMeshPolygon) lastAtom;
                    int[] p1 = this.getPolygon(polygon.getPolygonId());
                    int[] p2 = this.getPolygon(polygon2.getPolygonId());
                    int v1 = -1;
                    int v2 = -1;
                    outer:
                    for (int i = 0; i < p1.length; i++) {
                        for (int j = 0; j < p2.length; j++) {
                            if (p1[i] == p2[j]) {
                                if (v1 == -1) {
                                    v1 = p1[i];
                                } else {
                                    if (p1[i] != v1) {
                                        v2 = p1[i];
                                    }
                                    break outer;
                                }
                            }
                        }
                    }
                    double[] vv1 = getVertex(v1);
                    double[] vv2 = getVertex(v2);
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/state/ObserverRunningState.java26
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/ServerRunningState.java26
@FSMState(map = { 
					@FSMTransition(
						state=ItemCategoryState.class, 
						symbol={ItemCategoryStart.class}, 
						transition={}
					),				
					@FSMTransition(
						state=MutatorListState.class, 
						symbol={MutatorListStart.class}, 
						transition={}),
					@FSMTransition(
						state = NavPointListState.class, 
						symbol = { NavPointListStart.class }, 
						transition = {}
					),
					@FSMTransition(
						state = ItemListState.class,
						symbol = { ItemListStart.class },
						transition = {}
					),
					@FSMTransition(
							state = PlayerListState.class, 
							symbol = { PlayerListStart.class }, 
							transition = {}
					),
                    @FSMTransition(
							state = MapListState.class,
							symbol = { MapListStart.class },
							transition = {}
					)
				}
)
public class ServerRunningState extends AbstractServerFSMState<InfoMessage, TranslatorContext> {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/bot/state/NavPointListState.java86
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/NavPointListState.java105
	protected void innerStateSymbol(TranslatorContext context, InfoMessage symbol) {
		if (!symbol.getClass().equals(NavPoint.class)) {
			if (!NavPoint.class.isAssignableFrom(symbol.getClass())) {
				throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, NavPoint.class), context.getLogger(), this);
			}
		}
		currentNavPoint = (NavPoint)symbol;	
	}

	@Override
	public void init(TranslatorContext context) {
	}

	@Override
	public void restart(TranslatorContext context) {
		currentNavPoint = null;
		begun = false;
		navPoints = new HashMap<UnrealId, NavPoint>(navPoints.size() + 20);
		neighbours = new HashMap<UnrealId, List<NavPointNeighbourLink>>(neighbours.size() + 20);
	}
	
}
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/JumpModule.java211
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/JumpModule.java631
            Point2D cross = ray.getIntersection(edge);
            if (cross != null) {
                if (((cross.x <= Math.max(edge.p1.x, edge.p2.x) && cross.x >= Math.min(edge.p1.x, edge.p2.x)) || Math.abs(cross.x - edge.p1.x) < 0.0001)
                        && ((cross.x <= Math.max(ray.p1.x, ray.p2.x) && cross.x >= Math.min(ray.p1.x, ray.p2.x)) || Math.abs(cross.x - ray.p1.x) < 0.0001)) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/bot/state/ItemCategoryState.java30
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/ItemCategoryState.java29
public class ItemCategoryState extends AbstractObserverFSMState<InfoMessage, TranslatorContext>{

	@Override
	public void init(TranslatorContext context) {
	}

	@Override
	public void restart(TranslatorContext context) {
	}

	@Override
	public void stateEntering(TranslatorContext context,
							  IFSMState<InfoMessage, TranslatorContext> fromState,
			                  InfoMessage symbol) {
		if (!(symbol instanceof ItemCategoryStart)) throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, ItemCategoryStart.class), context.getLogger(), this);
	}

	@Override
	public void stateLeaving(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
		if (!(symbol instanceof ItemCategoryEnd)) throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, ItemCategoryEnd.class), context.getLogger(), this);
	}

	@Override
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/bot/state/MutatorListState.java28
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/MutatorListState.java28
public class MutatorListState extends ObserverListState<Mutator, TranslatorContext>{

	public MutatorListState() {
		super(MutatorListStart.class, Mutator.class, MutatorListEnd.class);
	}
	
	@Override
	public void stateEntering(TranslatorContext context, IFSMState<InfoMessage, TranslatorContext> fromState, InfoMessage symbol) {
		super.restart(context);
		super.stateEntering(context, fromState, symbol);
	}
	
	@Override
	public void stateLeaving(TranslatorContext context, IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
		super.stateLeaving(context, toState, symbol);
		long simTime = 
			(symbol instanceof IWorldChangeEvent ? ((IWorldChangeEvent)symbol).getSimTime() : 0);
		context.getEventQueue().pushEvent(new MutatorListObtained(getList(), simTime));
		newList();
	}
	
	@Override
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamScoreMessage.java336
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamScoreStaticImpl.java192
		}
	
    
 		
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				TeamScoreStatic obj = (TeamScoreStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class TeamScoreStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfMessage.java1838
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfStaticImpl.java244
		}
	
    
 		
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				SelfStatic obj = (SelfStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class SelfStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerMessage.java990
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerStaticImpl.java228
		}
	
    
 		
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				PlayerStatic obj = (PlayerStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class PlayerStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Player.java478
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Vehicle.java349
									)
								+ ", " + 
									(getRotation()
 	 == null ? "null" :
										"[" + getRotation()
 	.getPitch() + ", " + getRotation()
 	.getYaw() + ", " + getRotation()
 	.getRoll() + "]" 
									)								    
								+ ", " + 
								    (getLocation()
 	 == null ? "null" :
										"[" + getLocation()
 	.getX() + ", " + getLocation()
 	.getY() + ", " + getLocation()
 	.getZ() + "]" 
									)
								+ ", " + 
								    (getVelocity()
 	 == null ? "null" :
										"[" + getVelocity()
 	.getX() + ", " + getVelocity()
 	.getY() + ", " + getVelocity()
 	.getZ() + "]" 
									)
								+ ", " + 
								    String.valueOf(isVisible()
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java1367
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/VehicleMessage.java578
		    				public VehicleLocalMessage getLocal() {
								return this;
					    	}
							public ISharedWorldObject getShared() {
							 	throw new UnsupportedOperationException("Could not return LOCAL as SHARED");
							}
							public IStaticWorldObject getStatic() {
							    throw new UnsupportedOperationException("Could not return LOCAL as STATIC");
							}
		    			
 		/**
         * Unique Id of the vehicle or vehicle part. 
         */
        public  UnrealId getId()
 	 {
				    					return Id;
				    				}
				    			
 		/**
         * 
            If the vehicle is in the field of view of the bot.
         
         */
        public  boolean isVisible()
 	 {
				    					return Visible;
				    				}
				    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---        	            	
 	
		}
 	
 		/**
         *  
            				Implementation of the static part of the GameBots2004 message VEH, used
            				to facade VEHMessage.  
            			
         *
         *  <p></p><p></p>
         *  Complete message documentation:               
         *  
		Synchronous message. Holds vehicles we see. Id for vehicles doesn't work, so 
		this message is without Id. We can join vehicles by ENTER command if we are 
		close enough - ussually 100 ut units or less. Note: Vehicle support is 
		in aplha testing right now.
	
         */
 	public class VehicleStaticMessage 
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MyInventoryLocal.java117
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MyInventoryMessage.java428
				    				}
				    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"CurrentAmmo = " + String.valueOf(getCurrentAmmo()
 	) + " | " + 
		              		
		              			"CurrentAltAmmo = " + String.valueOf(getCurrentAltAmmo()
 	) + " | " + 
		              		
		              			"Amount = " + String.valueOf(getAmount()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>CurrentAmmo</b> = " + String.valueOf(getCurrentAmmo()
 	) + " <br/> " + 
		              		
		              			"<b>CurrentAltAmmo</b> = " + String.valueOf(getCurrentAltAmmo()
 	) + " <br/> " + 
		              		
		              			"<b>Amount</b> = " + String.valueOf(getAmount()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MoverMessage.java1154
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MoverSharedImpl.java257
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"State = " + String.valueOf(getState()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>State</b> = " + String.valueOf(getState()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ItemMessage.java506
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java1367
		    				public NavPointLocalMessage getLocal() {
								return this;
					    	}
							public ISharedWorldObject getShared() {
							 	throw new UnsupportedOperationException("Could not return LOCAL as SHARED");
							}
							public IStaticWorldObject getStatic() {
							    throw new UnsupportedOperationException("Could not return LOCAL as STATIC");
							}
		    			
 		/**
         * 
			A unique Id of this navigation point assigned by the game.
		 
         */
        public  UnrealId getId()
 	 {
				    					return Id;
				    				}
				    			
 		/**
         * 
			If the point is in the field of view of the bot.
		 
         */
        public  boolean isVisible()
 	 {
				    					return Visible;
				    				}
				    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---        	            	
 	
		}
 	
 		/**
         *  
            				Implementation of the static part of the GameBots2004 message NAV, used
            				to facade NAVMessage.  
            			
         *
         *  <p></p><p></p>
         *  Complete message documentation:               
         *  
		Synchronous message - however only NavPoints marking item pickup locations are exported synchronously. Other NavPoints are not exported synchronously at all, even if the bot can actually see them (but note that ALL NavPoints are exported in the handshake between bot and the server). Exporting NavPoints synchronously took a lot of UT server resources with limited information gain (in Pogamut there is now available visibility matrix holding static information which points can be seen from other points). NavPoint carries information about UT navigation point - location, paths and some additional information are stored there (if it is an ambush point, or sniper point, etc.).
   
         */
 	public class NavPointStaticMessage 
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/IncomingProjectileMessage.java649
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/IncomingProjectileStaticImpl.java206
		}
	
    
 		
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				IncomingProjectileStatic obj = (IncomingProjectileStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class IncomingProjectileStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/FlagInfoMessage.java481
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/FlagInfoStaticImpl.java206
		}
	
    
 		
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				FlagInfoStatic obj = (FlagInfoStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class FlagInfoStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/FlagInfoMessage.java383
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ItemMessage.java506
		    				public ItemLocalMessage getLocal() {
								return this;
					    	}
							public ISharedWorldObject getShared() {
							 	throw new UnsupportedOperationException("Could not return LOCAL as SHARED");
							}
							public IStaticWorldObject getStatic() {
							    throw new UnsupportedOperationException("Could not return LOCAL as STATIC");
							}
		    			
 		/**
         * 
			Unique Id of the item. This Id represents just item on the
			map, not in our inventory.
		 
         */
        public  UnrealId getId()
 	 {
				    					return Id;
				    				}
				    			
 		/**
         * 
			If the item is in the field of view of the bot.
		 
         */
        public  boolean isVisible()
 	 {
				    					return Visible;
				    				}
				    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---        	            	
 	
		}
 	
 		/**
         *  
            				Implementation of the static part of the GameBots2004 message INV, used
            				to facade INVMessage.  
            			
         *
         *  <p></p><p></p>
         *  Complete message documentation:               
         *  
		Synchronous/asynchronous message. An object on the ground that
		can be picked up.
	
         */
 	public class ItemStaticMessage 
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/EntityMessage.java736
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/EntitySharedImpl.java253
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/EntityMessage.java389
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java1367
		    				public FlagInfoLocalMessage getLocal() {
								return this;
					    	}
							public ISharedWorldObject getShared() {
							 	throw new UnsupportedOperationException("Could not return LOCAL as SHARED");
							}
							public IStaticWorldObject getStatic() {
							    throw new UnsupportedOperationException("Could not return LOCAL as STATIC");
							}
		    			
 		/**
         * 
			An unique Id for this flag, assigned by the game.
		 
         */
        public  UnrealId getId()
 	 {
				    					return Id;
				    				}
				    			
 		/**
         * True if the bot can see the flag. 
         */
        public  boolean isVisible()
 	 {
				    					return Visible;
				    				}
				    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---        	            	
 	
		}
 	
 		/**
         *  
            				Implementation of the static part of the GameBots2004 message FLG, used
            				to facade FLGMessage.  
            			
         *
         *  <p></p><p></p>
         *  Complete message documentation:               
         *  
		Synchronous message. FlagInfo contains all info about the flag
		in the CTF game mode. Is not sent in other game types.
	
         */
 	public class FlagInfoStaticMessage 
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeMessage.java1174
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeStaticImpl.java224
		}
	
    
 		
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				ConfigChangeStatic obj = (ConfigChangeStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class ConfigChangeStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeLocalImpl.java167
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeMessage.java169
		public ConfigChangeMessage(
			UnrealId Id,  UnrealId BotId,  boolean ManualSpawn,  boolean AutoTrace,  String Name,  double SpeedMultiplier,  Rotation RotationRate,  boolean Invulnerable,  double SelfUpdateTime,  double VisionTime,  int LocUpdateMultiplier,  boolean ShowDebug,  boolean ShowFocalPoint,  boolean DrawTraceLines,  boolean SynchronousOff,  boolean AutoPickupOff,  String Action
		) {
			
					this.Id = Id;
				
					this.BotId = BotId;
				
					this.ManualSpawn = ManualSpawn;
				
					this.AutoTrace = AutoTrace;
				
					this.Name = Name;
				
					this.SpeedMultiplier = SpeedMultiplier;
				
					this.RotationRate = RotationRate;
				
					this.Invulnerable = Invulnerable;
				
					this.SelfUpdateTime = SelfUpdateTime;
				
					this.VisionTime = VisionTime;
				
					this.LocUpdateMultiplier = LocUpdateMultiplier;
				
					this.ShowDebug = ShowDebug;
				
					this.ShowFocalPoint = ShowFocalPoint;
				
					this.DrawTraceLines = DrawTraceLines;
				
					this.SynchronousOff = SynchronousOff;
				
					this.AutoPickupOff = AutoPickupOff;
				
					this.Action = Action;
				
		}
    
		/**
		 * Cloning constructor from the full message.
		 *
		 * @param original
		 */
		public ConfigChangeMessage(ConfigChangeMessage original) {		
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BombInfoMessage.java526
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BombInfoStaticImpl.java208
		}
	
    
 		
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				BombInfoStatic obj = (BombInfoStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class BombInfoStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BombInfoMessage.java428
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java1367
		    				public EntityLocalMessage getLocal() {
								return this;
					    	}
							public ISharedWorldObject getShared() {
							 	throw new UnsupportedOperationException("Could not return LOCAL as SHARED");
							}
							public IStaticWorldObject getStatic() {
							    throw new UnsupportedOperationException("Could not return LOCAL as STATIC");
							}
		    			
 		/**
         * 
			Unique Id of the item. This Id represents some entity in the world.
		 
         */
        public  UnrealId getId()
 	 {
				    					return Id;
				    				}
				    			
 		/**
         * 
			If the item is in the field of view of the bot.
		 
         */
        public  boolean isVisible()
 	 {
				    					return Visible;
				    				}
				    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---        	            	
 	
		}
 	
 		/**
         *  
            				Implementation of the static part of the GameBots2004 message ENT, used
            				to facade ENTMessage.  
            			
         *
         *  <p></p><p></p>
         *  Complete message documentation:               
         *  
		Generic physical entity that may be present in the world. Works as a hook for custom objects, such as new items from EmohawkRPG extension.
	
         */
 	public class EntityStaticMessage 
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRayMessage.java812
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRayStaticImpl.java221
		}
	
    
 		
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				AutoTraceRayStatic obj = (AutoTraceRayStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class AutoTraceRayStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/UT2004PathExecutor.java142
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/UT2004AcceleratedPathExecutor.java173
            if (morePath.isEmpty()) {
                log.warning("Cannot extendPath() with 0-sized path.");
                return;
            }
            List<PATH_ELEMENT> currPath = getPath();
            if (currPath == null) {
                log.warning("Does not follow any path, cannot extendPath() now!");
                return;
            }
            int currIndex = getPathElementIndex();

            Tuple2<List<PATH_ELEMENT>, Integer> mergedPathAndIndex = mergePath(currPath, currIndex, morePath);
            List<PATH_ELEMENT> newPath = mergedPathAndIndex.getFirst();
            int newPathIndex = mergedPathAndIndex.getSecond();

            this.pathFuture = new PrecomputedPathFuture<PATH_ELEMENT>(newPath.get(0), newPath.get(newPath.size() - 1), newPath);

            int previousPathIndexDelta = this.pathElementIndex - this.previousPathElementIndex;

            this.pathElementIndex = newPathIndex;
            this.previousPathElementIndex = newPathIndex - previousPathIndexDelta;
            if (this.previousPathElementIndex < 0) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamScoreMessage.java339
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamScoreStatic.java81
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				TeamScoreStatic obj = (TeamScoreStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class TeamScoreStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfMessage.java1841
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfStatic.java81
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				SelfStatic obj = (SelfStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class SelfStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerMessage.java993
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerStatic.java84
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				PlayerStatic obj = (PlayerStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class PlayerStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java366
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointStaticImpl.java401
					this.DomPoint = original.isDomPoint()
 	;
				
					this.Door = original.isDoor()
 	;
				
					this.LiftCenter = original.isLiftCenter()
 	;
				
					this.LiftExit = original.isLiftExit()
 	;
				
					this.AIMarker = original.isAIMarker()
 	;
				
					this.JumpSpot = original.isJumpSpot()
 	;
				
					this.JumpPad = original.isJumpPad()
 	;
				
					this.JumpDest = original.isJumpDest()
 	;
				
					this.Teleporter = original.isTeleporter()
 	;
				
					this.Rotation = original.getRotation()
 	;
				
					this.RoamingSpot = original.isRoamingSpot()
 	;
				
					this.SnipingSpot = original.isSnipingSpot()
 	;
				
					this.ItemInstance = original.getItemInstance()
 	;
				
					this.OutgoingEdges = original.getOutgoingEdges()
 	;
				
					this.IncomingEdges = original.getIncomingEdges()
 	;
				
					this.PreferedWeapon = original.getPreferedWeapon()
 	;
				
			this.SimTime = original.getSimTime();			
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MoverMessage.java1157
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MoverShared.java128
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
		              			"State = " + String.valueOf(getState()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>State</b> = " + String.valueOf(getState()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/IncomingProjectileMessage.java652
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/IncomingProjectileStatic.java81
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				IncomingProjectileStatic obj = (IncomingProjectileStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class IncomingProjectileStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/FlagInfoMessage.java484
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/FlagInfoStatic.java84
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				FlagInfoStatic obj = (FlagInfoStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class FlagInfoStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/EntityMessage.java739
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/EntityShared.java123
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Rotation = " + String.valueOf(getRotation()
 	) + " | " + 
		              		
		              			"Velocity = " + String.valueOf(getVelocity()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Rotation</b> = " + String.valueOf(getRotation()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeMessage.java1177
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeStatic.java83
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				ConfigChangeStatic obj = (ConfigChangeStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class ConfigChangeStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BombInfoMessage.java529
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BombInfoStatic.java84
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				BombInfoStatic obj = (BombInfoStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class BombInfoStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRayMessage.java815
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRayStatic.java87
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
 		{
 			if (other == null) //early fail
 			{
 				return true;
 			}
 			else if (other == this) //early out
 			{
 				return false;
 			}
 			else
 			{
 				AutoTraceRayStatic obj = (AutoTraceRayStatic) other;

 				
 						if ( !(
 	 			AdvancedEquals.equalsOrNull(this.getId()
 	, obj.getId()
 	)
 	 		) )
						{
							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class AutoTraceRayStatic");
							return true;
						}
 					
 			}
 			return false;
 		}
 	 
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java366
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointStaticImpl.java489
						this.DomPoint = original.isDomPoint()
 	;
					
						this.Door = original.isDoor()
 	;
					
						this.LiftCenter = original.isLiftCenter()
 	;
					
						this.LiftExit = original.isLiftExit()
 	;
					
						this.AIMarker = original.isAIMarker()
 	;
					
						this.JumpSpot = original.isJumpSpot()
 	;
					
						this.JumpPad = original.isJumpPad()
 	;
					
						this.JumpDest = original.isJumpDest()
 	;
					
						this.Teleporter = original.isTeleporter()
 	;
					
						this.Rotation = original.getRotation()
 	;
					
						this.RoamingSpot = original.isRoamingSpot()
 	;
					
						this.SnipingSpot = original.isSnipingSpot()
 	;
					
						this.ItemInstance = original.getItemInstance()
 	;
					
						this.OutgoingEdges = original.getOutgoingEdges()
 	;
					
						this.IncomingEdges = original.getIncomingEdges()
 	;
					
						this.PreferedWeapon = original.getPreferedWeapon()
FileLine
cz/cuni/amis/pogamut/ut2004/bot/command/AdvancedLocomotion.java515
cz/cuni/amis/pogamut/ut2004/bot/command/AdvancedLocomotion.java539
        Location direction = new Location(inFrontOfTheBot.getLocation().x - bot.getLocation().x, inFrontOfTheBot.getLocation().y - bot.getLocation().y, 0);
        direction = direction.getNormalized();

        double alpha = Math.acos(self.getRotation().toLocation().getNormalized().dot(direction.getNormalized()));

        double orientation = self.getRotation().toLocation().cross(new Location(0, 0, 1)).dot(direction);
        if (orientation > 0) {
            alpha = -alpha;
        }

        Matrix3d rot = Rotation.constructXYRot(alpha);
        direction = new Location(1, 0, 0).mul(rot);

        this.act.act(new Dodge().setDirection(direction).setDouble(bDouble));
    }

    /**
     * Makes the bot to dodge in the selected direction (this is in fact single
     * jump that is executed to selected direction). Direction is relative to
     * bot actual rotation! (issues GB DODGE command)
     *
     * @param direction Relative vector (that will be normalized) that specifies
     * direction of the jump. Relative means that the bot current rotation will
     * be added to the this vector. So to dodge ahead issue direction (1,0,0).
     *
     * @param bDouble Wheter we want to perform double dodge.
     * @see jump()
     * @see doubleJump()
     */
    public void dodgeRelative(Location direction, boolean bDouble) {
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigator.java992
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigator.java1042
                            + " | zDistance " + zDistance + ", hDistance " + hDistance + ", mover " + (moverRidingUp ? "riding UP" : (moverRidingDown ? "riding DOWN" : moverStandingStill ? "standing STILL" : " movement unknown"))
                            + ", node " + navigCurrentNode.getId().getStringId()
                    );
                }

                // WE MUST NOT USE FOCUS! We have to see the mover. TODO: provide turning behavior, i.e., turn to desired focus once in a time
                if (!runner.runToLocation(memory.getLocation(), navigLastLocation, null, navigCurrentLocation, navigCurrentLink, (navigLastNode == null ? true : isReachable(navigLastNode)))) {
                    if (log != null && log.isLoggable(Level.FINE)) {
                        log.fine("Navigator.navigThroughMover(" + stage + "): navigation to last node failed");
                    }
                    return Stage.CRASHED;
                }
                // and keep waiting for the mover to go to the correct position

                return navigStage;
            }

            // MOVER HAS ARRIVED TO POSITION FOR EXIT (at least that what we're thinking so...)
            if (log != null && log.isLoggable(Level.FINER)) {
                log.finer(
                        "Navigator.navigThroughMover(" + stage + "): exiting the mover"
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AliveMessageMessage.java368
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessageMessage.java1463
		    			InitedMessageSharedMessage clone() {
		    				return this;
		    			}
		    			
		
		
		
		protected HashMap<PropertyId, ISharedProperty> propertyMap = new HashMap<PropertyId, ISharedProperty>(
			0
		);
		
		@Override
		public ISharedProperty getProperty(PropertyId id) {
			return propertyMap.get(id);
		}

		@Override
		public Map<PropertyId, ISharedProperty> getProperties() {
			return propertyMap;
		}
	
		
		
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=message]) ---        	            	
 	
		}
 	
    	
    	
 	
		@Override
		public IWorldObjectUpdateResult<IWorldObject> update(IWorldObject object) {
			if (object == null)
			{
				return new IWorldObjectUpdateResult.WorldObjectUpdateResult(IWorldObjectUpdateResult.Result.CREATED, this);
			}
			if (!( object instanceof InitedMessageMessage) ) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BombInfoLocal.java142
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ItemLocal.java145
					VehicleLocalImpl toUpdate = (VehicleLocalImpl)obj;
					if (toUpdate.Visible) {
						toUpdate.Visible = false;
						return new IWorldObjectUpdateResult.WorldObjectUpdateResult(IWorldObjectUpdateResult.Result.UPDATED, obj);
					} else {
						return new IWorldObjectUpdateResult.WorldObjectUpdateResult(IWorldObjectUpdateResult.Result.SAME, obj);
					}	
				}
				
			}
	
		
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=local+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=local+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/factory/direct/remoteagent/UT2004ObserverFactory.java51
cz/cuni/amis/pogamut/ut2004/factory/direct/remoteagent/UT2004ServerFactory.java51
	public UT2004Server newAgent(PARAMS agentParameters) throws PogamutException {		
		// setup logger
        AgentLogger logger = new AgentLogger(agentParameters.getAgentId());

        // Since default agent logger doesn't write anything, platform can be exposed to silent fail
        // i.e. RuntimeException that is thrown, something happens and whole thing stops working
        // without user knowing what the error message was.
        logger.setLevel(Level.SEVERE);
        logger.addDefaultConsoleHandler();
        
        IComponentBus eventBus = new ComponentBus(logger);

        ///////////////////////////////
        ///      WORLD -> AGENT     ///
        ///////////////////////////////
        
        // create connection to the world
        SocketConnection socketConnection = new SocketConnection((ISocketConnectionAddress)agentParameters.getWorldAddress(), new ComponentDependencies(ComponentDependencyType.STARTS_WITH).add(agentParameters.getAgentId()), eventBus, logger);
        
        UnrealIdTranslator unrealIdTranslator = new UnrealIdTranslator();
        ItemTypeTranslator itemTypeTranslator = new UT2004ItemTypeTranslator();
        ItemTranslator itemTranslator = new ItemTranslator(itemTypeTranslator);
        
        
        // parser for translating text messages into Java objects
        IWorldMessageParser parser = new UT2004Parser(unrealIdTranslator, itemTranslator,itemTypeTranslator, socketConnection, new Yylex(), new IYylexObserver.LogObserver(logger), eventBus, logger);

        // translates sets of messages wrapped in Java objects into agregared messages
        IWorldMessageTranslator messageTranslator = new ServerFSM(itemTranslator, logger);
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/loquenavigator/KefikRunner.java393
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshRunner.java331
            debug("angle         = " + Math.acos(angle) * (180 / Math.PI));
            debug("jumpRequired  = " + jumpRequired
                    + (!reachable ? " NOT_REACHABLE" : "")
                    + (link == null
                    ? ""
                    : ((link.getFlags() & LinkFlag.JUMP.get()) != 0 ? " JUMP_FLAG" : "") + (link.isForceDoubleJump() ? " DOUBLE_JUMP_FORCED" : "") + (link.getNeededJump() != null ? " AT[" + link.getNeededJump() + "]" : ""))
            );
            debug("reachable     = " + reachable);
            if (link != null) {
                debug("link          = " + link);
            } else {
                debug("LINK NOT PRESENT");
            }
            debug("collisionNum  = " + collisionNum);
            debug("collisionSpot = " + collisionSpot);
            debug("jumpStep      = " + jumpStep);
            debug("runnerStep    = " + runnerStep);
        }
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/UT2004PathExecutor.java108
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/UT2004AcceleratedPathExecutor.java138
    public UT2004AcceleratedPathExecutor<PATH_ELEMENT> setTimeoutEstimator(IPathExecutionEstimator<PATH_ELEMENT> timeoutEstimator) {
        this.timeoutEstimator = timeoutEstimator;
        return this;
    }

    @Override
    protected IPathExecutorState createState(PathExecutorState state) {
        switch (state) {
            case STUCK:
                UT2004PathExecutorStuckState newState = new UT2004PathExecutorStuckState();

                IStuckDetector detector = checkStuckDetectors();
                if (detector == null) {
                    // GLOBAL TIMEOUT
                    newState.setGlobalTimeout(true);
                } else {
                    // STUCK DETECTED
                    newState.setStuckDetector(detector);
                }

                newState.setLink(navigator.getCurrentLink());

                return newState;
            default:
                return super.createState(state);
        }
    }

    @Override
    public void extendPath(List<PATH_ELEMENT> morePath) {
        synchronized (mutex) {
            if (morePath == null) {
                log.warning("Cannot extendPath() with NULL path.");
                return;
            }
            if (morePath.isEmpty()) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/bot/support/BotListState.java44
cz/cuni/amis/pogamut/ut2004/communication/translator/server/support/ServerListState.java44
	public ObserverListState(Class beginMessage, Class<MESSAGE> message, Class endMessage) {
		this.beginMessage = beginMessage;
		this.message = message;
		this.endMessage = endMessage;
	}
	
	protected List<MESSAGE> getList() {
		return messages;
	}
	
	protected void newList() {
		messages = new ArrayList<MESSAGE>();
	}

	@Override
	public void init(CONTEXT context) {
		messages = new ArrayList<MESSAGE>();
	}

	@Override
	public void restart(CONTEXT context) {
		messages = new ArrayList<MESSAGE>();
	}

	@Override
	public void stateEntering(CONTEXT context, IFSMState<InfoMessage, CONTEXT> fromState, InfoMessage symbol) {
		if (!symbol.getClass().equals(beginMessage)) throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol, beginMessage), context.getLogger(), this);
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/GameInfoStaticImpl.java48
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/GameInfoStaticImpl.java97
		public GameInfoStaticImpl(GameInfoStaticImpl original) {		
			
					this.Gametype = original.getGametype()
 	;
				
					this.Level = original.getLevel()
 	;
				
					this.MaxTeams = original.getMaxTeams()
 	;
				
					this.RedBaseLocation = original.getRedBaseLocation()
 	;
				
					this.BlueBaseLocation = original.getBlueBaseLocation()
 	;
				
					this.FirstDomPointLocation = original.getFirstDomPointLocation()
 	;
				
					this.SecondDomPointLocation = original.getSecondDomPointLocation()
 	;
				
					this.FactoryLocation = original.getFactoryLocation()
 	;
				
					this.FactoryRadius = original.getFactoryRadius()
 	;
				
					this.DisperserLocation = original.getDisperserLocation()
 	;
				
					this.DisperserRadius = original.getDisperserRadius()
 	;
				
					this.FactoryAdrenalineCount = original.getFactoryAdrenalineCount()
 	;
				
					this.FactorySpawnType = original.getFactorySpawnType()
 	;
				
			this.SimTime = original.getSimTime();
		}
		
			/**
			 * Cloning constructor from the message part.
			 *
			 * @param original
			 */
			public GameInfoStaticImpl(GameInfoStatic original) {
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/stuckdetector/AccUT2004PositionStuckDetector.java28
cz/cuni/amis/pogamut/ut2004/agent/navigation/stuckdetector/UT2004PositionStuckDetector.java27
	private UT2004Bot bot;
	
	private double minMovementDiameter;
	
	private int historyLength;
	
	private List<Location> locationHistory;
	
	private boolean stuck = false;
	
	private boolean botWaiting = false;
	
	private boolean enabled = false;
	
	private class SelfListener implements IWorldObjectListener<Self> {

		public SelfListener(IWorldView worldView) {
			worldView.addObjectListener(Self.class, this);
		}
		
		@Override
		public void notify(IWorldObjectEvent<Self> event) {
			eventSelf(event);
		}
		
	};
	
	/**
	 * Listener watching for the {@link EndMessage} message. Recalls
	 * {@link #eventEndMessage(EndMessage)}.
	 * 
	 * @author Jimmy
	 */
	private class EndMessageListener implements IWorldEventListener<EndMessage> {

		public EndMessageListener(IWorldView worldView) {
			worldView.addEventListener(EndMessage.class, this);
		}

		@Override
		public void notify(EndMessage event) {
			eventEndMessage(event);
		}

	};
	
	private SelfListener selfListener;
	
	private EndMessageListener endMessageListener;
	
	private Logger log;

	private double minMovementZ;
	
	public UT2004PositionStuckDetector(UT2004Bot bot) {
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/loquenavigator/LoqueNavigator.java1003
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigator.java1069
            return navigToCurrentNode(false);
        } else {
            if (log != null && log.isLoggable(Level.WARNING)) {
                log.warning("Navigator.navigThroughMover(" + stage + "): invalid stage, neither AWAITING_MOVER nor RIDING MOVER");
            }
            return Stage.CRASHED;
        }

    }

    /*========================================================================*/
    /**
     * Tries to navigate the agent safely to the current navigation node.
     *
     * @return Next stage of the navigation progress.
     */
    private Stage navigThroughTeleport() {
        if (navigCurrentNode != null) {
            // update location of the current place we're reaching
            navigCurrentLocation = navigCurrentNode.getLocation();
        }

        if (navigNextNode != null) {
            // update location of the Next place we're reaching
            navigNextLocation = navigNextNode.getLocation();
        }

        // now we have to compute whether we should switch to another navpoint
        // it has two flavours, we should switch if:
        //			1. we're too near to teleport, we should run into
        //          2. we're at the other end of the teleport, i.e., we've already got through the teleport
        // 1. DISTANCE TO THE TELEPORT
        // get the distance from the current node
        int localDistance1_1 = (int) memory.getLocation().getDistance(navigCurrentLocation.getLocation());
        // get the distance from the current node (neglecting jumps)
        int localDistance1_2 = (int) memory.getLocation().getDistance(
                Location.add(navigCurrentLocation.getLocation(), new Location(0, 0, 100))
        );
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ShootingStarted.java80
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ShootingStopped.java80
		public ShootingStopped(ShootingStopped original) {		
			
					this.Alt = original.isAlt()
 	;
				
			this.SimTime = original.getSimTime();			
		}
		
	   		
			protected long SimTime;
				
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */	
			@Override
			public long getSimTime() {
				return SimTime;
			}
						
			/**
			 * Used by Yylex to slip correct time of the object or programmatically.
			 */
			protected void setSimTime(long SimTime) {
				this.SimTime = SimTime;
			}
	   	
    	
	    /**
         * 
			Whether using the alternate firing mode.
		 
         */
        protected
         boolean Alt =
       	false;
	
 		/**
         * 
			Whether using the alternate firing mode.
		 
         */
        public  boolean isAlt()
 	 {
    					return Alt;
    				}
    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Alt = " + String.valueOf(isAlt()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Alt</b> = " + String.valueOf(isAlt()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 	    public String toJsonLiteral() {
            return "shootingstopped( "
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/DialogFailed.java81
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ZoneChangedBot.java80
		public ZoneChangedBot(ZoneChangedBot original) {		
			
					this.Id = original.getId()
 	;
				
			this.SimTime = original.getSimTime();			
		}
		
	   		
			protected long SimTime;
				
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */	
			@Override
			public long getSimTime() {
				return SimTime;
			}
						
			/**
			 * Used by Yylex to slip correct time of the object or programmatically.
			 */
			protected void setSimTime(long SimTime) {
				this.SimTime = SimTime;
			}
	   	
    	
	    /**
         * Id of a zone entered. 
         */
        protected
         String Id =
       	null;
	
 		/**
         * Id of a zone entered. 
         */
        public  String getId()
 	 {
    					return Id;
    				}
    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 	    public String toJsonLiteral() {
            return "zonechangedbot( "
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/UT2004Navigation.java52
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigation.java71
    protected IPathPlanner<ILocated> pathPlanner;
    /**
     * UT2004Bot reference.
     */
    protected UT2004Bot bot;
    /**
     * UT2004GetBackToNavGraph for returning bot back to the navigation graph.
     */
    protected IUT2004GetBackToNavGraph getBackToNavGraph;
    /**
     * UT2004RunStraight is used to run directly to player at some moment.
     */
    protected IUT2004RunStraight runStraight;
    /**
     * From which distance we should use
     * {@link IUT2004PathExecutor#extendPath(List)}.
     */
    protected double extendPathThreshold;
    /**
     * Location threshold for requesting of a new path or switching a path.
     */
    protected static final int NEW_PATH_DISTANCE_THRESHOLD = 40;
    /**
     * Location threshold for checking whether we have arrived on target. For XY
     * - 2D plane distance
     */
    protected static final int ARRIVED_AT_LOCATION_XY_THRESHOLD = 50;
    /**
     * Location threshold for checking whether we have arrived on target. For Z
     * distance.
     */
    protected static final int ARRIVED_AT_LOCATION_Z_THRESHOLD = 100;
    /**
     * When PLAYER is further from currentTarget than this location, recompute
     * the path
     */
    protected static final double PLAYER_DISTANCE_TRASHOLD = 600;
    /**
     * We're managed to get to player
     */
    public static final double AT_PLAYER = 100;
    /**
     * State of UT2004Navigation
     */
    protected Flag<NavigationState> state = new Flag<NavigationState>(NavigationState.STOPPED);

    /**
     * Listener for UT2004PathExecutor state.
     */
    FlagListener<IPathExecutorState> myUT2004PathExecutorStateListener = new FlagListener<IPathExecutorState>() {

        @Override
        public void flagChanged(IPathExecutorState changedValue) {
            switch (changedValue.getState()) {
                case TARGET_REACHED:
                    targetReached();
                    break;
                case PATH_COMPUTATION_FAILED:
                    noPath();
                    break;
                case STUCK:
                    if (log != null && log.isLoggable(Level.WARNING)) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/bot/support/BotMessageExpectedState.java26
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/support/ObserverMessageExpectedState.java26
	public ObserverMessageExpectedState(Class expectedMessage) {
		message = expectedMessage;
	}

	@Override
	public void init(CONTEXT context) {
	}

	@Override
	public void restart(CONTEXT context) {
	}

	@Override
	public void stateEntering(CONTEXT context,
			IFSMState<InfoMessage, CONTEXT> fromState, InfoMessage symbol) {
	}

	@Override
	public void stateLeaving(CONTEXT context, IFSMState<InfoMessage, CONTEXT> toState, InfoMessage symbol) {
		if (!symbol.getClass().equals(message)) {
			if (!message.isAssignableFrom(symbol.getClass())) {
				throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol), context.getLogger(), this);
			}
		}
	}

	@Override
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/itemdescriptor/AmmoDescriptor.java11
cz/cuni/amis/pogamut/ut2004/communication/translator/itemdescriptor/WeaponDescriptor.java71
	@ItemDescriptorField
	private String priAmmoType;
	@ItemDescriptorField
	private int priInitialAmount = 0;
	@ItemDescriptorField
	private int priMaxAmount = 0;
	@ItemDescriptorField	
	private double priMaxRange = 0;

	// Primary firing mode ammo damage type
	@ItemDescriptorField
	private String priDamageType;
	@ItemDescriptorField
	private boolean priArmorStops = true;
	@ItemDescriptorField
	private boolean priAlwaysGibs = false;
	@ItemDescriptorField
	private boolean priSpecial = false;
	@ItemDescriptorField
	private boolean priDetonatesGoop = false;
	@ItemDescriptorField
	private boolean priSuperWeapon = false;
	@ItemDescriptorField
	private boolean priExtraMomZ = false;

	// Primary firing mode projectile
	@ItemDescriptorField
	private String priProjType;
	@ItemDescriptorField
	private double priDamage = 0;
	@ItemDescriptorField
	private double priSpeed = 0;
	@ItemDescriptorField
	private double priMaxSpeed = 0;
	@ItemDescriptorField
	private double priLifeSpan = 0;
	@ItemDescriptorField
	private double priDamageRadius = 0;
	@ItemDescriptorField
	private double priTossZ = 0;
	@ItemDescriptorField
	private double priMaxEffectDistance = 0;

	// Secondary firing mode
	@ItemDescriptorField
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessage.java75
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/InitedMessageLocal.java80
						}
	
						
		    			
 		/**
         * 
			A unique unreal Id of the new bot.
		 
         */
        public abstract UnrealId getBotId()
 	;
		    			
 		/**
         * 
			Bot will always start with this health amount (usually 100). 
		 
         */
        public abstract int getHealthStart()
 	;
		    			
 		/**
         * 
			Full health of the bot (usually 100).
		 
         */
        public abstract int getHealthFull()
 	;
		    			
 		/**
         * 
			Maximum health of the bot (default 199).
		 
         */
        public abstract int getHealthMax()
 	;
		    			
 		/**
         * 
			Amount of adrenaline at the start. Usually 0.
		 
         */
        public abstract double getAdrenalineStart()
 	;
		    			
 		/**
         * 
			Maxium amount of the adrenaline. Usually 100 (this can trigger the combos).
		 
         */
        public abstract double getAdrenalineMax()
 	;
		    			
 		/**
         * 
			Starting strength of the bot armor (usually 0).
		 
         */
        public abstract int getShieldStrengthStart()
 	;
		    			
 		/**
         * 
			Maximum strength of the bot armor (usually 150).
		 
         */
        public abstract int getShieldStrengthMax()
 	;
		    			
 		/**
         * 
			Maximum amount of succesing jumps. Currently limited to double jump in GB.
		 
         */
        public abstract int getMaxMultiJump()
 	;
		    			
 		/**
         * 
			Damage scaling for this bot. (he will deal reduced damage depending on the setting).
		 
         */
        public abstract double getDamageScaling()
 	;
		    			
 		/**
         * 
			Groundspeed of the bot (on the ground). Default 440.
		 
         */
        public abstract double getGroundSpeed()
 	;
		    			
 		/**
         * 
			Waterspeed of the bot (in the water).
		 
         */
        public abstract double getWaterSpeed()
 	;
		    			
 		/**
         * 
			AirSpeed of the bot (in the air).
		 
         */
        public abstract double getAirSpeed()
 	;
		    			
 		/**
         * 
			Ladderspeed of the bot (on the ladder).
		 
         */
        public abstract double getLadderSpeed()
 	;
		    			
 		/**
         * 
			Accelartion rate of this bot. How fast he accelerates.
		 
         */
        public abstract double getAccelRate()
 	;
		    			
 		/**
         * 
			 Bot Jump's Z boost.
		 
         */
        public abstract double getJumpZ()
 	;
		    			
 		/**
         * 
			Not used in GB.
		 
         */
        public abstract double getMultiJumpBoost()
 	;
		    			
 		/**
         * 
			 Max fall speed of the bot.
		 
         */
        public abstract double getMaxFallSpeed()
 	;
		    			
 		/**
         * 
			Dodge speed factor.
		 
         */
        public abstract double getDodgeSpeedFactor()
 	;
		    			
 		/**
         * 
			Dodge jump Z boost of the bot. 
		 
         */
        public abstract double getDodgeSpeedZ()
 	;
		    			
 		/**
         * 
			How well can be the bot controlled in the air (ranges from 0 to 1).
		 
         */
        public abstract double getAirControl()
 	;
		    			
    	
    	
    	
    	public InitedMessageLocal getLocal() {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BotKilled.java215
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerKilled.java276
    				}
    			
    	
	    /**
         * 
			A string describing what kind of damage killed the victim.
		 
         */
        protected
         String DamageType =
       	null;
	
 		/**
         * 
			A string describing what kind of damage killed the victim.
		 
         */
        public  String getDamageType()
 	 {
    					return DamageType;
    				}
    			
    	
	    /**
         * 
			String describing this type of death.
		 
         */
        protected
         String DeathString =
       	null;
	
 		/**
         * 
			String describing this type of death.
		 
         */
        public  String getDeathString()
 	 {
    					return DeathString;
    				}
    			
    	
	    /**
         * 
			Name of the weapon that caused this damage.
		 
         */
        protected
         String WeaponName =
       	null;
	
 		/**
         * 
			Name of the weapon that caused this damage.
		 
         */
        public  String getWeaponName()
 	 {
    					return WeaponName;
    				}
    			
    	
	    /**
         * 
			If this damage is causing the player to burn. TODO
		 
         */
        protected
         boolean Flaming =
       	false;
	
 		/**
         * 
			If this damage is causing the player to burn. TODO
		 
         */
        public  boolean isFlaming()
 	 {
    					return Flaming;
    				}
    			
    	
	    /**
         * 
			If this damage was caused by world - falling into lava, or falling down.
		 
         */
        protected
         boolean CausedByWorld =
       	false;
	
 		/**
         * 
			If this damage was caused by world - falling into lava, or falling down.
		 
         */
        public  boolean isCausedByWorld()
 	 {
    					return CausedByWorld;
    				}
    			
    	
	    /**
         * 
			If the damage is direct. TODO
		 
         */
        protected
         boolean DirectDamage =
       	false;
	
 		/**
         * 
			If the damage is direct. TODO
		 
         */
        public  boolean isDirectDamage()
 	 {
    					return DirectDamage;
    				}
    			
    	
	    /**
         * 
			If this damage was caused by bullet.
		 
         */
        protected
         boolean BulletHit =
       	false;
	
 		/**
         * 
			If this damage was caused by bullet.
		 
         */
        public  boolean isBulletHit()
 	 {
    					return BulletHit;
    				}
    			
    	
	    /**
         * 
			If this damage was caused by vehicle running over us.
		 
         */
        protected
         boolean VehicleHit =
       	false;
	
 		/**
         * 
			If this damage was caused by vehicle running over us.
		 
         */
        public  boolean isVehicleHit()
 	 {
    					return VehicleHit;
    				}
    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/GameInfo.java338
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/GameInfoStaticImpl.java695
		              			"SecondDomPointLocation = " + String.valueOf(getSecondDomPointLocation()
 	) + " | " + 
		              		
		              			"FactoryLocation = " + String.valueOf(getFactoryLocation()
 	) + " | " + 
		              		
		              			"FactoryRadius = " + String.valueOf(getFactoryRadius()
 	) + " | " + 
		              		
		              			"DisperserLocation = " + String.valueOf(getDisperserLocation()
 	) + " | " + 
		              		
		              			"DisperserRadius = " + String.valueOf(getDisperserRadius()
 	) + " | " + 
		              		
		              			"FactoryAdrenalineCount = " + String.valueOf(getFactoryAdrenalineCount()
 	) + " | " + 
		              		
		              			"FactorySpawnType = " + String.valueOf(getFactorySpawnType()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Gametype</b> = " + String.valueOf(getGametype()
 	) + " <br/> " + 
		              		
		              			"<b>Level</b> = " + String.valueOf(getLevel()
 	) + " <br/> " + 
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BotKilled.java382
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerKilled.java449
		              			"KilledPawn = " + String.valueOf(getKilledPawn()
 	) + " | " + 
		              		
		              			"DamageType = " + String.valueOf(getDamageType()
 	) + " | " + 
		              		
		              			"DeathString = " + String.valueOf(getDeathString()
 	) + " | " + 
		              		
		              			"WeaponName = " + String.valueOf(getWeaponName()
 	) + " | " + 
		              		
		              			"Flaming = " + String.valueOf(isFlaming()
 	) + " | " + 
		              		
		              			"CausedByWorld = " + String.valueOf(isCausedByWorld()
 	) + " | " + 
		              		
		              			"DirectDamage = " + String.valueOf(isDirectDamage()
 	) + " | " + 
		              		
		              			"BulletHit = " + String.valueOf(isBulletHit()
 	) + " | " + 
		              		
		              			"VehicleHit = " + String.valueOf(isVehicleHit()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BombInfoCompositeImpl.java185
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/FlagInfoCompositeImpl.java167
    							getTeam()
 	;
    				}
    			
  					@Override
    				
 		/**
         * True if the bot can see the flag. 
         */
        public  boolean isVisible()
 	 {
    					return 
    						
    								partLocal.
    							isVisible()
 	;
    				}
    			
  					@Override
    				
 		/**
         * 
			Represents the state the flag is in. Can be "Held",
			"Dropped" or "Home" (note that the first letter does not have to be in upper case!).
		 
         */
        public  String getState()
 	 {
    					return 
    						
    								partShared.
    							getState()
 	;
    				}
    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
            			"Static = " + String.valueOf(partStatic) + " | Local = " + String.valueOf(partLocal) + " | Shared = " + String.valueOf(partShared) + " ]" +
            		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
            			"Static = " + String.valueOf(partStatic) + " <br/> Local = " + String.valueOf(partLocal) + " <br/> Shared = " + String.valueOf(partShared) + " ]" +
            		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=composite+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=composite+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/state/MapListState.java30
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/MapListState.java29
public class MapListState extends ServerListState<MapList, TranslatorContext> {

	public MapListState() {
		super(MapListStart.class, MapList.class, MapListEnd.class);
	}
	
	@Override
	public void stateLeaving(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
		super.stateLeaving(context, toState, symbol);
		long simTime = 
			(symbol instanceof IWorldChangeEvent ? ((IWorldChangeEvent)symbol).getSimTime() : 0);
		context.getEventQueue().pushEvent(new MapListObtained(getList(), simTime));
		newList();
	}
	
	@Override
	protected void innerStateSymbol(TranslatorContext context,
			InfoMessage symbol) {
		super.innerStateSymbol(context, symbol);
		if (symbol instanceof MapList) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BotKilled.java452
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerKilled.java536
										"\"" + getKilledPawn()
 	 + "\"" 
									)
								+ ", " + 
									(getDamageType()
 	 == null ? "null" :
										"\"" + getDamageType()
 	 + "\"" 
									)
								+ ", " + 
									(getDeathString()
 	 == null ? "null" :
										"\"" + getDeathString()
 	 + "\"" 
									)
								+ ", " + 
									(getWeaponName()
 	 == null ? "null" :
										"\"" + getWeaponName()
 	 + "\"" 
									)
								+ ", " + 
								    String.valueOf(isFlaming()
 	)									
								+ ", " + 
								    String.valueOf(isCausedByWorld()
 	)									
								+ ", " + 
								    String.valueOf(isDirectDamage()
 	)									
								+ ", " + 
								    String.valueOf(isBulletHit()
 	)									
								+ ", " + 
								    String.valueOf(isVehicleHit()
 	)									
								
                   + ")";
        }
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=event+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=event+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/loquenavigator/LoqueNavigator.java887
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigator.java951
        log.fine("Navigator.navigThroughMover(" + stage + "): NEXT " + navigNextNode);

        // get horizontal distance from the mover center node ... always POSITIVE
        int hDistance = (int) memory.getLocation().getDistance2D(navigCurrentLocation.getLocation());
        // get vertical distance from the mover center node ... +/- ... negative -> mover is below us, positive -> mover is above us
        int zDistance = (int) navigCurrentLocation.getLocation().getDistanceZ(memory.getLocation());
        // whether mover is riding UP
        boolean moverRidingUp = mover.getVelocity().z > 0;
        // whether mover is riding DOWN
        boolean moverRidingDown = mover.getVelocity().z < 0;
        // whether mover is standing still
        boolean moverStandingStill = Math.abs(mover.getVelocity().z) < Location.DISTANCE_ZERO;

        if (navigStage == Stage.AWAITING_MOVER) {
            // Aren't we under the mover?
            if (zDistance > 0 && moverRidingUp) {
                // we're under the mover and the mover is riding up...
                if (log != null && log.isLoggable(Level.FINER)) {
                    log.finer(
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/UT2004Navigation.java185
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigation.java203
    }

    private void initListeners() {
        this.pathExecutor.getState().addListener(myUT2004PathExecutorStateListener);
        bot.getWorldView().addEventListener(EndMessage.class, endMessageListener);
        bot.getWorldView().addEventListener(BotKilled.class, botKilledMessageListener);
    }

    // ============================
    // TWEAKING / LISTENERS
    // ============================

    @Override
    public void addStrongNavigationListener(FlagListener<NavigationState> listener) {
        state.addStrongListener(listener);
    }

    @Override
    public void removeStrongNavigationListener(FlagListener<NavigationState> listener) {
        state.removeListener(listener);
    }

    @Override
    public IUT2004PathExecutor<ILocated> getPathExecutor() {
        return pathExecutor;
    }

    @Override
    public IUT2004GetBackToNavGraph getBackToNavGraph() {
        return getBackToNavGraph;
    }

    @Override
    public IUT2004RunStraight getRunStraight() {
        return runStraight;
    }
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/UT2004Navigation.java505
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigation.java575
        double distance = 0;
        ILocated curr = (ILocated) list.get(0);
        for (int i = 1; i < list.size(); ++i) {
            ILocated next = (ILocated) list.get(i);
            distance += curr.getLocation().getDistance(next.getLocation());
            curr = next;
        }
        return distance;
    }


    // ======================
    // VARIABLES
    // ======================
    /**
     * Last location target.
     */
    protected ILocated lastTarget = null;
    /**
     * Last location target.
     */
    protected Player lastTargetPlayer = null;
    /**
     * Current location target.
     */
    protected ILocated currentTarget = null;
    /**
     * Current target is player (if not null)
     */
    protected Player currentTargetPlayer = null;
    /**
     * Navpoint we're running from (initial position when path executor has been
     * triggered)
     */
    protected NavPoint fromNavPoint;
    /**
     * Navpoint we're running to, nearest navpoint to currentTarget
     */
    protected NavPoint toNavPoint;
    /**
     * Current path stored in IPathFuture object.
     */
    protected IPathFuture currentPathFuture;
    /**
     * Whether navigation is running.
     */
    protected boolean navigating = false;
    /**
     * We're running straight to the player.
     */
    protected boolean runningStraightToPlayer = false;
    /**
     * Where run-straight failed.
     */
    protected Location runningStraightToPlayerFailedAt = null;
    /**
     * Whether we're using {@link UT2004Navigation#getBackToNavGraph}.
     */
    protected boolean usingGetBackToNavGraph = false;
    /**
     * Where the bot will continue to.
     */
    protected ILocated continueTo;
    /**
     * Path to prolong.
     */
    protected IPathFuture<ILocated> continueToPath;
FileLine
cz/cuni/amis/pogamut/ut2004/bot/command/AdvancedLocomotion.java492
cz/cuni/amis/pogamut/ut2004/bot/command/AdvancedLocomotion.java516
        direction = direction.getNormalized();

        double alpha = Math.acos(self.getRotation().toLocation().getNormalized().dot(direction.getNormalized()));

        double orientation = self.getRotation().toLocation().cross(new Location(0, 0, 1)).dot(direction);
        if (orientation > 0) {
            alpha = -alpha;
        }

        Matrix3d rot = Rotation.constructXYRot(alpha);
        direction = new Location(1, 0, 0).mul(rot);

        this.act.act(new Dodge().setDirection(direction).setDouble(bDouble));
    }

    /**
     * Dodges towards the specified location.
     * 
     * @param inFrontOfTheBot Location to dodge to.
     * @param bDouble Whether to perform double dodge.
     */
    public void dodgeTo(ILocated inFrontOfTheBot, boolean bDouble) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/GameInfoStaticImpl.java48
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/GameInfoStaticImpl.java146
			public GameInfoStaticImpl(GameInfoStatic original) {
				
						this.Gametype = original.getGametype()
 	;
					
						this.Level = original.getLevel()
 	;
					
						this.MaxTeams = original.getMaxTeams()
 	;
					
						this.RedBaseLocation = original.getRedBaseLocation()
 	;
					
						this.BlueBaseLocation = original.getBlueBaseLocation()
 	;
					
						this.FirstDomPointLocation = original.getFirstDomPointLocation()
 	;
					
						this.SecondDomPointLocation = original.getSecondDomPointLocation()
 	;
					
						this.FactoryLocation = original.getFactoryLocation()
 	;
					
						this.FactoryRadius = original.getFactoryRadius()
 	;
					
						this.DisperserLocation = original.getDisperserLocation()
 	;
					
						this.DisperserRadius = original.getDisperserRadius()
 	;
					
						this.FactoryAdrenalineCount = original.getFactoryAdrenalineCount()
 	;
					
						this.FactorySpawnType = original.getFactorySpawnType()
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BotKilled.java416
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerKilled.java489
		              			"<b>KilledPawn</b> = " + String.valueOf(getKilledPawn()
 	) + " <br/> " + 
		              		
		              			"<b>DamageType</b> = " + String.valueOf(getDamageType()
 	) + " <br/> " + 
		              		
		              			"<b>DeathString</b> = " + String.valueOf(getDeathString()
 	) + " <br/> " + 
		              		
		              			"<b>WeaponName</b> = " + String.valueOf(getWeaponName()
 	) + " <br/> " + 
		              		
		              			"<b>Flaming</b> = " + String.valueOf(isFlaming()
 	) + " <br/> " + 
		              		
		              			"<b>CausedByWorld</b> = " + String.valueOf(isCausedByWorld()
 	) + " <br/> " + 
		              		
		              			"<b>DirectDamage</b> = " + String.valueOf(isDirectDamage()
 	) + " <br/> " + 
		              		
		              			"<b>BulletHit</b> = " + String.valueOf(isBulletHit()
 	) + " <br/> " + 
		              		
		              			"<b>VehicleHit</b> = " + String.valueOf(isVehicleHit()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 	    public String toJsonLiteral() {
            return "playerkilled( "
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/FastTraceResponse.java265
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TraceResponse.java411
            		+
									(getId()
 	 == null ? "null" :
										"\"" + getId()
 	 + "\"" 
									)
								+ ", " + 
								    (getFrom()
 	 == null ? "null" :
										"[" + getFrom()
 	.getX() + ", " + getFrom()
 	.getY() + ", " + getFrom()
 	.getZ() + "]" 
									)
								+ ", " + 
								    (getTo()
 	 == null ? "null" :
										"[" + getTo()
 	.getX() + ", " + getTo()
 	.getY() + ", " + getTo()
 	.getZ() + "]" 
									)
								+ ", " + 
								    String.valueOf(isResult()
 	)									
								+ ", " + 
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/stuckdetector/AccUT2004DistanceStuckDetector.java22
cz/cuni/amis/pogamut/ut2004/agent/navigation/stuckdetector/UT2004DistanceStuckDetector.java22
	private UT2004Bot bot;
	
	private Location botTarget;
	
	private boolean botWaiting = false;
	
	private int historyLength;
	
	private List<Location> positionHistory;
	
	private List<Double> distanceHistory;
	
	private Boolean closing;
	
	private Boolean distancing;
	
	private int closingCount = 0;
	
	private int distancingCount = 0;
	
	private boolean stuck = false;
	
	private boolean enabled = false;
	
	private int totalClosingCountMoreThanOne = 0;
	private int totalDistancingCountMoreThanOne = 0;

	
	private class SelfListener implements IWorldObjectListener<Self> {

		public SelfListener(IWorldView worldView) {
			worldView.addObjectListener(Self.class, this);
		}
		
		@Override
		public void notify(IWorldObjectEvent<Self> event) {
			eventSelf(event);
		}
		
	};
	
	private SelfListener selfListener;
	
	private Logger log;

	private double minMovementZ;

	public UT2004DistanceStuckDetector(UT2004Bot bot) {
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/NavMesh.java330
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/NavMesh.java343
                            v3 = getVertex(polygon[4]);
                            p1 = new Point3D(v1[0], v1[1], v1[2]);
                            vector1 = new Vector3D(v2[0] - v1[0], v2[1] - v1[1], v2[2] - v1[2]);
                            vector2 = new Vector3D(v3[0] - v1[0], v3[1] - v1[1], v3[2] - v1[2]);
                            plane = new Plane3D(p1, vector1, vector2);
                            dist = plane.getDistance(point3D);
                            if (dist < minDist) {
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/loquenavigator/LoqueNavigator.java155
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigator.java142
    }

    @Override
    public void reset() {
        // reinitialize the navigator's values

        navigCurrentLocation = null;
        navigCurrentNode = null;
        navigCurrentLink = null;
        navigDestination = null;
        navigIterator = null;
        navigLastLocation = null;
        navigLastNode = null;
        navigNextLocation = null;
        navigNextNode = null;
        navigNextLocationOffset = 0;
        navigStage = Stage.COMPLETED;
        setBotWaiting(false);

        resetNavigMoverVariables();
    }

    @Override
    public void newPath(List<PATH_ELEMENT> path) {
        // prepare for running along new path
        reset();

        // 1) obtain the destination
        Location dest = path.get(path.size() - 1).getLocation();

        // 2) init the navigation
        initPathNavigation(dest, path);
    }

    @Override
    public void pathExtended(List<PATH_ELEMENT> path, int currentPathIndex) {
        if (path == null || path.isEmpty()) {
FileLine
cz/cuni/amis/pogamut/ut2004/agent/module/sensor/WeaponPrefs.java191
cz/cuni/amis/pogamut/ut2004/agent/module/sensor/WeaponPrefs.java252
	public WeaponPref getWeaponPreference(double distance, WeaponPref... forbiddenWeapons) {
		WeaponPref pref = null;
		if (distance >= 0 && prefs.size() != 0) {
			WeaponPrefsRange range = getWeaponPreferences(distance); 
			pref = range.getWeaponPreference(forbiddenWeapons);
			if (pref != null) {
				return pref;
			}
		}
		pref = generalPrefs.getWeaponPreference(forbiddenWeapons);
		if (pref != null) return pref;
		pref = generalPrefs.getWeaponPreference();
		if (pref != null) return pref;
		if (weaponry.getCurrentWeapon() != null) {
			return new WeaponPref(weaponry.getCurrentWeapon().getType(), true);
		}
		return null;
	}
	
	/**
	 * Return the best weapon the bot has to shoot at given location (choosing right weapon preferances for a given distance).
	 * <p><p>
	 * May return null if "general preferences are not defined" or the bot does not have ammo to any of defined weapons.
	 * <p><p>
	 * If target is null, only general preferences will be used.
	 * 
	 * @param target
	 * @param forbiddenWeapons optionally, you may define weapons which bot should not choose.
	 * @return
	 */
	public WeaponPref getWeaponPreference(ILocated target, WeaponPref... forbiddenWeapons) {
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/loquenavigator/LoqueNavigator.java1071
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigator.java1146
        }

        // where are we going to run to
        Location firstLocation = navigCurrentLocation.getLocation();
        // where we're going to continue
        Location secondLocation = (navigNextNode != null && !navigNextNode.isLiftCenter() && !navigNextNode.isLiftCenter()
                ? navigNextNode.getLocation()
                : navigNextLocation);
        // and what are we going to look at
        ILocated focus = (this.focus == null
                ? ((navigNextLocation == null) ? firstLocation : navigNextLocation.getLocation())
                : this.focus);

        // run to the current node..
        if (!runner.runToLocation(navigLastLocation, firstLocation, secondLocation, focus, navigCurrentLink, (navigCurrentNode == null ? true : isReachable(navigCurrentNode)))) {
            if (log != null && log.isLoggable(Level.FINE)) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/state/ReadyState.java37
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/ReadyState.java36
public class ReadyState extends AbstractServerFSMState<InfoMessage, TranslatorContext> {

	@Override
	public void init(TranslatorContext context) {
	}

	@Override
	public void restart(TranslatorContext context) {
	}

	@Override
	public void stateEntering(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> fromState,
			InfoMessage symbol) {
	}

	@Override
	public void stateLeaving(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
	}

	@Override
	protected void innerStateSymbol(TranslatorContext context, InfoMessage symbol) {
		if (symbol instanceof HandShakeStart) return;
		throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol), context.getLogger(), this);
	}

}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamScoreMessage.java515
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamScoreMessage.java623
    (this.getStatic(), SimTime);
		}
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Score = " + String.valueOf(getScore()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Score</b> = " + String.valueOf(getScore()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=base+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=base+classtype[@name=message]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerLocal.java160
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerLocalImpl.java338
			}
			
		}	
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Jmx = " + String.valueOf(getJmx()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Jmx</b> = " + String.valueOf(getJmx()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=local+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=local+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/IncomingProjectileLocal.java155
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/IncomingProjectileLocalImpl.java310
			}
			
		}	
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"ImpactTime = " + String.valueOf(getImpactTime()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>ImpactTime</b> = " + String.valueOf(getImpactTime()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=local+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=local+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamScoreMessage.java516
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamScoreSharedImpl.java232
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Score = " + String.valueOf(getScore()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Score</b> = " + String.valueOf(getScore()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamScore.java137
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamScoreSharedImpl.java230
			}
			
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Score = " + String.valueOf(getScore()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Score</b> = " + String.valueOf(getScore()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerMessage.java263
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfMessage.java380
					this.Action = original.getAction()
 	;
				
					this.EmotLeft = original.getEmotLeft()
 	;
				
					this.EmotCenter = original.getEmotCenter()
 	;
				
					this.EmotRight = original.getEmotRight()
 	;
				
					this.Bubble = original.getBubble()
 	;
				
					this.Anim = original.getAnim()
 	;
				
				this.TeamId = original.getTeamId();
			
			this.SimTime = original.getSimTime();
		}
		
    				
    					protected ITeamId TeamId;
    					
    					/**
    					 * Used by Yylex to slip corretn TeamId.
    					 */
    					protected void setTeamId(ITeamId TeamId) {
    					    this.TeamId = TeamId;
    					}
    				
    					public ITeamId getTeamId() {
							return TeamId;
						}
    	
    					
    					
    	
	    /**
         * Unique Id of this self message instance. 
         */
        protected
         UnrealId Id =
       	null;
	
    						
    						/**
		 					 * Whether property 'Id' was received from GB2004.
		 					 */
							protected boolean Id_Set = false;
							
    						@Override
		    				
 		/**
         * Unique Id of this self message instance. 
         */
        public  UnrealId getId()
 	 {
		    					return Id;
		    				}
		    			
    	
	    /**
         * Unique Id of this bot. 
         */
        protected
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerLocal.java162
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerMessage.java912
				    				}
				    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Jmx = " + String.valueOf(getJmx()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Jmx</b> = " + String.valueOf(getJmx()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ItemMessage.java909
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ItemSharedImpl.java237
		}
	
    
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Dropped = " + String.valueOf(isDropped()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Dropped</b> = " + String.valueOf(isDropped()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/IncomingProjectileLocal.java157
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/IncomingProjectileMessage.java574
				    				}
				    			
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"ImpactTime = " + String.valueOf(getImpactTime()
 	) + " | " + 
		              		
		              			"Visible = " + String.valueOf(isVisible()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>ImpactTime</b> = " + String.valueOf(getImpactTime()
 	) + " <br/> " + 
		              		
		              			"<b>Visible</b> = " + String.valueOf(isVisible()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=local+classtype[@name=message]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BotKilled.java147
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerKilled.java170
					this.KilledPawn = original.getKilledPawn()
 	;
				
					this.DamageType = original.getDamageType()
 	;
				
					this.DeathString = original.getDeathString()
 	;
				
					this.WeaponName = original.getWeaponName()
 	;
				
					this.Flaming = original.isFlaming()
 	;
				
					this.CausedByWorld = original.isCausedByWorld()
 	;
				
					this.DirectDamage = original.isDirectDamage()
 	;
				
					this.BulletHit = original.isBulletHit()
 	;
				
					this.VehicleHit = original.isVehicleHit()
 	;
				
			this.SimTime = original.getSimTime();			
		}
		
	   		
			protected long SimTime;
				
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */	
			@Override
			public long getSimTime() {
				return SimTime;
			}
						
			/**
			 * Used by Yylex to slip correct time of the object or programmatically.
			 */
			protected void setSimTime(long SimTime) {
				this.SimTime = SimTime;
			}
	   	
    	
	    /**
         * Unique Id of the dead player. 
         */
        protected
         UnrealId Id =
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/support/AbstractObserverFSMState.java17
cz/cuni/amis/pogamut/ut2004/communication/translator/server/support/AbstractServerFSMState.java17
public abstract class AbstractServerFSMState<SYMBOL, CONTEXT extends TranslatorContext> implements IFSMState<SYMBOL, CONTEXT> {
	
	protected abstract void innerStateSymbol(CONTEXT context, SYMBOL symbol);

	@Override
	public final void stateSymbol(CONTEXT context, SYMBOL symbol) {
		if (symbol instanceof AliveMessage) {
			if (!(symbol instanceof IWorldChangeEvent)) throw new UnexpectedMessageException(TranslatorMessages.messageNotWorldEvent(this, symbol), this);
			context.getEventQueue().pushEvent((IWorldChangeEvent) symbol);
		} else {
			innerStateSymbol(context, symbol);
		}
	}
	
	@Override
	public String toString() {
		return getClass().getSimpleName();
	}

}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamScoreMessage.java519
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamScoreShared.java114
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Score = " + String.valueOf(getScore()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Score</b> = " + String.valueOf(getScore()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamScore.java139
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamScoreMessage.java516
			  		}
				
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Score = " + String.valueOf(getScore()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Score</b> = " + String.valueOf(getScore()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ItemMessage.java912
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ItemShared.java118
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Location = " + String.valueOf(getLocation()
 	) + " | " + 
		              		
		              			"Dropped = " + String.valueOf(isDropped()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Dropped</b> = " + String.valueOf(isDropped()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamScore.java142
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TeamScoreShared.java114
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"Team = " + String.valueOf(getTeam()
 	) + " | " + 
		              		
		              			"Score = " + String.valueOf(getScore()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Team</b> = " + String.valueOf(getTeam()
 	) + " <br/> " + 
		              		
		              			"<b>Score</b> = " + String.valueOf(getScore()
 	) + " <br/> " + 
		              		
				"<br/>]";     
		}
FileLine
cz/cuni/amis/pogamut/ut2004/agent/module/sensor/AgentInfo.java231
cz/cuni/amis/pogamut/ut2004/agent/module/sensor/AgentInfo.java250
	public boolean atLocation(String objectId, double epsilon) {
		Object obj = agent.getWorldView().get(UnrealId.get(objectId));
		if (obj == null) {
			if (log != null && log.isLoggable(Level.WARNING)) log.warning("atLocation(): Object with id '" + objectId + "' does not exist in the worldview!"); 
			return false;
		}
		if (!(obj instanceof ILocated)) {
			if (log != null && log.isLoggable(Level.WARNING)) log.warning("atLocation(): Object with id '" + objectId + "' is not implementing ILocated, it is " + obj.getClass().getSimpleName() + ".");
			return false;
		}
		return atLocation((ILocated)obj, epsilon);
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/loquenavigator/LoqueNavigator.java612
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigator.java594
        else if (navigCurrentNode != null && navigCurrentNode.isLiftCenter()) {
            // setup mover sequence
            navigStage = Stage.FirstMoverStage();
            resetNavigMoverVariables();

            // AREN'T WE ALREADY ON THE LIFT CENTER?
            if (memory.getLocation().getDistance(navigCurrentNode.getLocation()) < CLOSE_ENOUGH) {
                // YES WE ARE!
                navigStage = navigStage.next();
            }
        } // are we still moving on mover? 
        else if (navigStage.mover) {
            navigStage = navigStage.next();
            // init the runner
            runner.reset();
        } else if (navigStage.teleport) {
            navigStage = navigStage.next();
            // init the runner
            runner.reset();
        } // no movers & teleports
        else {
            // init the runner
            runner.reset();
        }

        // switch to next node
        if (log != null && log.isLoggable(Level.FINE)) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/CommunicationTerminatedState.java14
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/GameInfoExpectedState.java27
public class GameInfoExpectedState extends AbstractServerFSMState<InfoMessage, TranslatorContext> {

	@Override
	public void init(TranslatorContext context) {
	}

	@Override
	public void restart(TranslatorContext context) {
	}

	@Override
	public void stateEntering(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> fromState,
			InfoMessage symbol) {
	}

	@Override
	public void stateLeaving(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
	}

	@Override
	protected void innerStateSymbol(TranslatorContext context, InfoMessage symbol) {
		throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol), context.getLogger(), this);
	}

}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/bot/state/ReadyState.java34
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/state/GameInfoExpectedState.java28
public class GameInfoExpectedState extends AbstractObserverFSMState<InfoMessage, TranslatorContext> {

	@Override
	public void init(TranslatorContext context) {
	}

	@Override
	public void restart(TranslatorContext context) {
	}

	@Override
	public void stateEntering(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> fromState,
			InfoMessage symbol) {
	}

	@Override
	public void stateLeaving(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
	}

	@Override
	protected void innerStateSymbol(TranslatorContext context, InfoMessage symbol) {
		throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol), context.getLogger(), this);
	}

}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/bot/state/CommunicationTerminatedState.java14
cz/cuni/amis/pogamut/ut2004/communication/translator/bot/state/GameInfoExpectedState.java28
public class GameInfoExpectedState extends AbstractBotFSMState<InfoMessage, TranslatorContext> {

	@Override
	public void init(TranslatorContext context) {
	}

	@Override
	public void restart(TranslatorContext context) {
	}

	@Override
	public void stateEntering(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> fromState,
			InfoMessage symbol) {
	}

	@Override
	public void stateLeaving(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
	}

	@Override
	public void stateSymbol(TranslatorContext context, InfoMessage symbol) {
		throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol), context.getLogger(), this);
	}

}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java2513
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointStatic.java536
		              			"ItemClass = " + String.valueOf(getItemClass()
 	) + " | " + 
		              		
		              			"Mover = " + String.valueOf(getMover()
 	) + " | " + 
		              		
		              			"LiftOffset = " + String.valueOf(getLiftOffset()
 	) + " | " + 
		              		
		              			"LiftJumpExit = " + String.valueOf(isLiftJumpExit()
 	) + " | " + 
		              		
		              			"NoDoubleJump = " + String.valueOf(isNoDoubleJump()
 	) + " | " + 
		              		
		              			"InvSpot = " + String.valueOf(isInvSpot()
 	) + " | " + 
		              		
		              			"PlayerStart = " + String.valueOf(isPlayerStart()
 	) + " | " + 
		              		
		              			"TeamNumber = " + String.valueOf(getTeamNumber()
 	) + " | " + 
		              		
		              			"DomPoint = " + String.valueOf(isDomPoint()
 	) + " | " + 
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java2048
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java2607
		              			"<b>DoorOpened</b> = " + String.valueOf(isDoorOpened()
 	) + " <br/> " + 
		              		
		              			"<b>Mover</b> = " + String.valueOf(getMover()
 	) + " <br/> " + 
		              		
		              			"<b>LiftOffset</b> = " + String.valueOf(getLiftOffset()
 	) + " <br/> " + 
		              		
		              			"<b>LiftJumpExit</b> = " + String.valueOf(isLiftJumpExit()
 	) + " <br/> " + 
		              		
		              			"<b>NoDoubleJump</b> = " + String.valueOf(isNoDoubleJump()
 	) + " <br/> " + 
		              		
		              			"<b>InvSpot</b> = " + String.valueOf(isInvSpot()
 	) + " <br/> " + 
		              		
		              			"<b>PlayerStart</b> = " + String.valueOf(isPlayerStart()
 	) + " <br/> " + 
		              		
		              			"<b>TeamNumber</b> = " + String.valueOf(getTeamNumber()
 	) + " <br/> " + 
		              		
		              			"<b>DomPoint</b> = " + String.valueOf(isDomPoint()
 	) + " <br/> " + 
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java1972
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java2513
		              			"DoorOpened = " + String.valueOf(isDoorOpened()
 	) + " | " + 
		              		
		              			"Mover = " + String.valueOf(getMover()
 	) + " | " + 
		              		
		              			"LiftOffset = " + String.valueOf(getLiftOffset()
 	) + " | " + 
		              		
		              			"LiftJumpExit = " + String.valueOf(isLiftJumpExit()
 	) + " | " + 
		              		
		              			"NoDoubleJump = " + String.valueOf(isNoDoubleJump()
 	) + " | " + 
		              		
		              			"InvSpot = " + String.valueOf(isInvSpot()
 	) + " | " + 
		              		
		              			"PlayerStart = " + String.valueOf(isPlayerStart()
 	) + " | " + 
		              		
		              			"TeamNumber = " + String.valueOf(getTeamNumber()
 	) + " | " + 
		              		
		              			"DomPoint = " + String.valueOf(isDomPoint()
 	) + " | " + 
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPoint.java538
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointMessage.java2048
		              			"<b>ItemClass</b> = " + String.valueOf(getItemClass()
 	) + " <br/> " + 
		              		
		              			"<b>Mover</b> = " + String.valueOf(getMover()
 	) + " <br/> " + 
		              		
		              			"<b>LiftOffset</b> = " + String.valueOf(getLiftOffset()
 	) + " <br/> " + 
		              		
		              			"<b>LiftJumpExit</b> = " + String.valueOf(isLiftJumpExit()
 	) + " <br/> " + 
		              		
		              			"<b>NoDoubleJump</b> = " + String.valueOf(isNoDoubleJump()
 	) + " <br/> " + 
		              		
		              			"<b>InvSpot</b> = " + String.valueOf(isInvSpot()
 	) + " <br/> " + 
		              		
		              			"<b>PlayerStart</b> = " + String.valueOf(isPlayerStart()
 	) + " <br/> " + 
		              		
		              			"<b>TeamNumber</b> = " + String.valueOf(getTeamNumber()
 	) + " <br/> " + 
		              		
		              			"<b>DomPoint</b> = " + String.valueOf(isDomPoint()
 	) + " <br/> " + 
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPoint.java444
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointStaticImpl.java1376
		              			"ItemClass = " + String.valueOf(getItemClass()
 	) + " | " + 
		              		
		              			"Mover = " + String.valueOf(getMover()
 	) + " | " + 
		              		
		              			"LiftOffset = " + String.valueOf(getLiftOffset()
 	) + " | " + 
		              		
		              			"LiftJumpExit = " + String.valueOf(isLiftJumpExit()
 	) + " | " + 
		              		
		              			"NoDoubleJump = " + String.valueOf(isNoDoubleJump()
 	) + " | " + 
		              		
		              			"InvSpot = " + String.valueOf(isInvSpot()
 	) + " | " + 
		              		
		              			"PlayerStart = " + String.valueOf(isPlayerStart()
 	) + " | " + 
		              		
		              			"TeamNumber = " + String.valueOf(getTeamNumber()
 	) + " | " + 
		              		
		              			"DomPoint = " + String.valueOf(isDomPoint()
 	) + " | " + 
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/UT2004Navigation.java472
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigation.java538
                IPathFuture<ILocated> pathFuture = pathPlanner.computePath(from, to);
                if (pathFuture.isDone()) {
                    return bot.getLocation().getDistance(from.getLocation()) + getPathDistance(pathFuture.get()) + to.getLocation().getDistance(currentTargetPlayer.getLocation());
                } else {
                    // CANNOT BE COMPUTED DUE TO ASYNC PATH-PLANNER
                    return -1;
                }
            }
        } else {
            if (isPathExecuting()) {
                return pathExecutor.getRemainingDistance();
            } else {
                // TODO: HOW TO GET TRUE DISTANCE, IF YOU MAY HAVE ASYNC PATH-PLANNER?
                NavPoint from = getNearestNavPoint(bot.getLocation());
                NavPoint to = getNearestNavPoint(currentTarget.getLocation());
                IPathFuture<ILocated> pathFuture = pathPlanner.computePath(from, to);
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/LevelGeometry.java503
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/NavMesh.java315
            double[] v3 = getVertex(polygon[2]);
            Point3D p1 = new Point3D(v1[0], v1[1], v1[2]);
            Vector3D vector1 = new Vector3D(v2[0] - v1[0], v2[1] - v1[1], v2[2] - v1[2]);
            Vector3D vector2 = new Vector3D(v3[0] - v1[0], v3[1] - v1[1], v3[2] - v1[2]);
            Plane3D plane = new Plane3D(p1, vector1, vector2);
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/loquenavigator/LoqueNavigator.java407
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigator.java399
        return null;
    }

    /**
     * Initializes navigation along path.
     *
     * @param dest Destination of the navigation.
     * @param path Path of the navigation.
     * @return True, if the navigation is successfuly initialized.
     */
    private boolean initAlongPath(Location dest, List<PATH_ELEMENT> path) {
        // setup navigation info
        navigDestination = dest;
        navigIterator = path.iterator();
        // reset current node
        navigCurrentLocation = bot.getLocation();
        navigCurrentNode = DistanceUtils.getNearest(bot.getWorldView().getAll(NavPoint.class).values(), bot.getLocation(), 40);
        // prepare next node
        prepareNextNode();
        // reset navigation stage
        navigStage = Stage.NAVIGATING;
        // reset node navigation info
        return switchToNextNode();
    }

    /**
     * Tries to navigate the agent safely along the navigation path.
     *
     * @return Next stage of the navigation progress.
     */
    private Stage navigAlongPath() {
        // get the distance from the destination
        int totalDistance = (int) memory.getLocation().getDistance(navigDestination);

        // are we there yet?
        if (totalDistance <= CLOSE_ENOUGH) {
            log.log(Level.FINEST, "Navigator.navigAlongPath(): destination close enough: {0}", totalDistance);
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/bot/state/ReadyState.java34
cz/cuni/amis/pogamut/ut2004/communication/translator/server/state/GameInfoExpectedState.java27
public class CommunicationTerminatedState extends AbstractServerFSMState<InfoMessage, TranslatorContext>{

	@Override
	public void init(TranslatorContext context) {
	}

	@Override
	public void restart(TranslatorContext context) {
	}

	@Override
	public void stateEntering(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> fromState,
			InfoMessage symbol) {
	}

	@Override
	public void stateLeaving(TranslatorContext context,
			IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
	}

	@Override
	protected void innerStateSymbol(TranslatorContext context, InfoMessage symbol) {
		throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol), context.getLogger(), this);
	}

}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MoverSharedImpl.java70
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointSharedImpl.java70
				throw new PogamutException("Trying to create a NavPointSharedImpl with invalid property (invalid property token): " + 
					this.Id.getStringId() + " / " + property.getPropertyId().getPropertyToken().getToken() , this);
				}
				propertyMap.put(property.getPropertyId(), property);
				
				
					if (pId.getPropertyToken().getToken().equals("Location"))
					{
						this.myLocation = (LocationProperty)property;
					}
				
					if (pId.getPropertyToken().getToken().equals("Velocity"))
					{
						this.myVelocity = (VelocityProperty)property;
					}
				
					if (pId.getPropertyToken().getToken().equals("ItemSpawned"))
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerMessage.java676
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfMessage.java1105
		    				}
		    			
    	
	    /**
         * 
			For UE2. Holds left emoticon of the bot, "None" means none set.
		 
         */
        protected
         String EmotLeft =
       	null;
	
    						
    						/**
		 					 * Whether property 'EmotLeft' was received from GB2004.
		 					 */
							protected boolean EmotLeft_Set = false;
							
    						@Override
		    				
 		/**
         * 
			For UE2. Holds left emoticon of the bot, "None" means none set.
		 
         */
        public  String getEmotLeft()
 	 {
		    					return EmotLeft;
		    				}
		    			
    	
	    /**
         * 
			For UE2. Holds center emoticon of the bot, "None" means none set.
		 
         */
        protected
         String EmotCenter =
       	null;
	
    						
    						/**
		 					 * Whether property 'EmotCenter' was received from GB2004.
		 					 */
							protected boolean EmotCenter_Set = false;
							
    						@Override
		    				
 		/**
         * 
			For UE2. Holds center emoticon of the bot, "None" means none set.
		 
         */
        public  String getEmotCenter()
 	 {
		    					return EmotCenter;
		    				}
		    			
    	
	    /**
         * 
			For UE2. Holds right emoticon of the bot, "None" means none set.
		 
         */
        protected
         String EmotRight =
       	null;
	
    						
    						/**
		 					 * Whether property 'EmotRight' was received from GB2004.
		 					 */
							protected boolean EmotRight_Set = false;
							
    						@Override
		    				
 		/**
         * 
			For UE2. Holds right emoticon of the bot, "None" means none set.
		 
         */
        public  String getEmotRight()
 	 {
		    					return EmotRight;
		    				}
		    			
    	
	    /**
         * 
			For UE2. Holds the bubble of the emoticon of the bot, "None" means none set.
		 
         */
        protected
         String Bubble =
       	null;
	
    						
    						/**
		 					 * Whether property 'Bubble' was received from GB2004.
		 					 */
							protected boolean Bubble_Set = false;
							
    						@Override
		    				
 		/**
         * 
			For UE2. Holds the bubble of the emoticon of the bot, "None" means none set.
		 
         */
        public  String getBubble()
 	 {
		    					return Bubble;
		    				}
		    			
    	
	    /**
         * 
			For UE2. Current played animation of the bot.
		 
         */
        protected
         String Anim =
       	null;
	
    						
    						/**
		 					 * Whether property 'Anim' was received from GB2004.
		 					 */
							protected boolean Anim_Set = false;
							
    						@Override
		    				
 		/**
         * 
			For UE2. Current played animation of the bot.
		 
         */
        public  String getAnim()
 	 {
		    					return Anim;
		    				}
		    			
		    			
		    			private SelfLocal localPart = null;
FileLine
cz/cuni/amis/pogamut/ut2004/analyzer/UT2004AnalyzerFullObserver.java114
cz/cuni/amis/pogamut/ut2004/analyzer/UT2004AnalyzerObserver.java81
			path += getObservedBotId().toString();
			path += ".csv";
		}
		return path;
	}
	
	/**
	 * Called whenever {@link GameRestart} message with {@link GameRestarted#isStarted()} is received.
	 * <p><p>
	 * You probably won't need to override this method, better override {@link UT2004AnalyzerObserver#gameRestartEnd()}, that
	 * is the place where you should reset data collection statistics / start them in case of {@link UT2004AnalyzerObserverParameters#isWaitForMatchRestart()}.
	 * <p><p>
	 * Current implementation is empty.
	 */
	protected void gameRestartStarted() {
	}
	
	/**
	 * Called whenever {@link GameRestart} message with {@link GameRestarted#isFinished()} is received.
	 * <p><p>
	 * Place where you should reset data collection statistics / start them 
	 * in case of {@link UT2004AnalyzerObserverParameters#isWaitForMatchRestart()}.
	 * <p><p>
	 * Current implementation is empty.
	 */
	protected void gameRestartEnd() {
	}
	
	/**
	 * Initialize the observer to listen on the {@link UT2004AnalyzerObserverParameters#getObservedAgentId()} that is obtained from
	 * the {@link UT2004AnalyzerObserver#getParams()}.
	 */
	@Override
	protected void startAgent() {
		super.startAgent();
		getAct().act(new InitializeObserver().setId(getParams().getObservedAgentId()));
		configureObserver();
	}
	
	@Override
	protected void startPausedAgent() {
		super.startPausedAgent();
		getAct().act(new InitializeObserver().setId(getParams().getObservedAgentId()));
		configureObserver();
	}
	
	/**
	 * Called from the {@link UT2004AnalyzerObserver#startAgent()} after {@link InitializeObserver} command
	 * is sent to configure the observer instance.
	 * <p><p>
	 * Actually enables {@link Self}, {@link MyInventory} and async messages (i.e., {@link BotKilled}).
	 */
	protected void configureObserver() {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MoverStaticImpl.java148
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/MoverStaticImpl.java188
		public MoverStaticImpl(MoverStaticImpl original) {		
			
					this.Id = original.getId()
 	;
				
					this.DamageTrig = original.isDamageTrig()
 	;
				
					this.Type = original.getType()
 	;
				
					this.IsMoving = original.isIsMoving()
 	;
				
					this.MoveTime = original.getMoveTime()
 	;
				
					this.OpenTime = original.getOpenTime()
 	;
				
					this.BasePos = original.getBasePos()
 	;
				
					this.BaseRot = original.getBaseRot()
 	;
				
					this.DelayTime = original.getDelayTime()
 	;
				
					this.NavPointMarker = original.getNavPointMarker()
 	;
				
			this.SimTime = original.getSimTime();
		}
		
			/**
			 * Cloning constructor from the message part.
			 *
			 * @param original
			 */
			public MoverStaticImpl(MoverStatic original) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRayLocalImpl.java162
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRayLocalImpl.java202
		public AutoTraceRayLocalImpl(AutoTraceRayLocalImpl original) {		
			
					this.Id = original.getId()
 	;
				
					this.From = original.getFrom()
 	;
				
					this.To = original.getTo()
 	;
				
					this.FastTrace = original.isFastTrace()
 	;
				
					this.FloorCorrection = original.isFloorCorrection()
 	;
				
					this.Result = original.isResult()
 	;
				
					this.HitNormal = original.getHitNormal()
 	;
				
					this.HitLocation = original.getHitLocation()
 	;
				
					this.TraceActors = original.isTraceActors()
 	;
				
					this.HitId = original.getHitId()
 	;
				
			this.SimTime = original.getSimTime();
		}
		
			/**
			 * Cloning constructor from the message part.
			 *
			 * @param original
			 */
			public AutoTraceRayLocalImpl(AutoTraceRayLocal original) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Player.java517
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Self.java665
									)
								+ ", " + 
									(getEmotLeft()
 	 == null ? "null" :
										"\"" + getEmotLeft()
 	 + "\"" 
									)
								+ ", " + 
									(getEmotCenter()
 	 == null ? "null" :
										"\"" + getEmotCenter()
 	 + "\"" 
									)
								+ ", " + 
									(getEmotRight()
 	 == null ? "null" :
										"\"" + getEmotRight()
 	 + "\"" 
									)
								+ ", " + 
									(getBubble()
 	 == null ? "null" :
										"\"" + getBubble()
 	 + "\"" 
									)
								+ ", " + 
									(getAnim()
 	 == null ? "null" :
										"\"" + getAnim()
 	 + "\"" 
									)
								
                   + ")";
        }
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=base+classtype[@name=abstract]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=base+classtype[@name=abstract]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPoint.java199
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPointStatic.java158
        public abstract boolean isDomPoint()
 	;
		    			
 		/**
         * 
			If this point marks a door mover.
		 
         */
        public abstract boolean isDoor()
 	;
		    			
 		/**
         * 
			If this point marks a lift center (used to mark center of a lift mover, note that this point will be always moved with the lift).
		 
         */
        public abstract boolean isLiftCenter()
 	;
		    			
 		/**
         * 
			If this point marks a lift exit (used to mark exit point of a lift mover).
		 
         */
        public abstract boolean isLiftExit()
 	;
		    			
 		/**
         * 
			If this point is an AI marker - marks an interesting spot in the environment. May be ambush point or sniping spot, etc.
		 
         */
        public abstract boolean isAIMarker()
 	;
		    			
 		/**
         * 
			If this point marks a jump spot (a special device that causes the bot to jump high or far).
		 
         */
        public abstract boolean isJumpSpot()
 	;
		    			
 		/**
         * 
			If this point marks a jump pad (a special device that causes the bot to jump high or far).
		 
         */
        public abstract boolean isJumpPad()
 	;
		    			
 		/**
         * 
			If this point marks a jump destination - some place that can be reached by some special jump.
		 
         */
        public abstract boolean isJumpDest()
 	;
		    			
 		/**
         * 
			If this point marks a teleport. 
		 
         */
        public abstract boolean isTeleporter()
 	;
		    			
 		/**
         * 
			If the type is AIMarker. The rotation the bot should be
			facing, when doing the action specified by AIMarker. Sent only in HandShake.
		 
         */
        public abstract Rotation getRotation()
 	;
		    			
 		/**
         * 
			Some ambush point, where is good chance to intercept
			approaching opponents. Sent only in HandShake.
		 
         */
        public abstract boolean isRoamingSpot()
 	;
		    			
 		/**
         * Point good for sniping. Sent only in HandShake. 
         */
        public abstract boolean isSnipingSpot()
 	;
		    			
 		/**
         * If item should be present at this navpoint it's instance will be here. 
         */
        public abstract Item getItemInstance()
 	;
		    			
 		/**
         * Maps edge-LEADING_TO-navpoint-UnrealId to neighbour link, those are outgoing edges (those edges that originates in this navpoint going to another one, those you may usually travel). 
         */
        public abstract Map<UnrealId, NavPointNeighbourLink> getOutgoingEdges()
 	;
		    			
 		/**
         * Maps edge-ORIGINATES_FROM-navpoint-UnrealId to neighbour link, those are incoming edges (those edges that originates in different navpoint and ends here, do not use this to ask whether you can get to navpoint of specific unreal id, use OutgoingEdges instead). 
         */
        public abstract Map<UnrealId, NavPointNeighbourLink> getIncomingEdges()
 	;
		    			
 		/**
         * 
			Class of the weapon that should be prefered when using this
			point for AIMarker specified action. Sent only in HandShake.
		 
         */
        public abstract String getPreferedWeapon()
 	;
		    			
 		
 		@Override
 		public boolean isDifferentFrom(IStaticWorldObject other)
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeLocalImpl.java921
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfLocalImpl.java1454
				throw new PogamutException("Unsupported object type for update. Expected SelfLocalImpl for object " + object.getId() +", not object of class " + object.getClass().getSimpleName() + ".", this);
			}
	
			/**
			 * Simulation time in MILLI SECONDS !!!
			 */
			@Override
			public long getSimTime() {
				return this.time;
			}
	
			@Override
			public IWorldObject getObject() {
				return data;
			}
	
			@Override
			public WorldObjectId getId() {
				return data.getId();
			}
			
		}	
 	
 		
 	    public String toString() {
            return
            	super.toString() + "[" +
            	
		              			"Id = " + String.valueOf(getId()
 	) + " | " + 
		              		
		              			"BotId = " + String.valueOf(getBotId()
 	) + " | " + 
FileLine
cz/cuni/amis/pogamut/ut2004/bot/command/ImprovedShooting.java364
cz/cuni/amis/pogamut/ut2004/bot/command/ImprovedShooting.java393
	public boolean shoot(WeaponPref pref, ILocated target) {
		if (pref == null) return false;
		if (currentWeapon == pref.getWeapon()) {
			if (pref.isPrimary()) shoot(target);
			else shootSecondary(target);
			return true;
		}
		if (!mayChangeWeapon()) {
			if (lastShooting != null && currentWeapon == lastShooting.getWeapon()) {
				if (lastShooting.isPrimary()) shoot(target);
				else shootSecondary(target);
			} else {
				shoot(target);
			}
			return true;
		}
		return shootNow(pref, target);
	}
	
	/**
	 * Will start shooting with {@link Weapon#getType()} primary/secondary (as specified) at 'target'.
	 * <p><p>
	 * Obeys {@link ImprovedShooting#getChangeWeaponCooldown()}.
	 * 
	 * @param weapon
	 * @param usePrimaryMode
	 * @param target
	 * @return whether the bot is shooting (i.e., has enough ammo to do so)
	 */
	public boolean shoot(Weapon weapon, boolean usePrimaryMode, UnrealId target) {
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/drawing/UT2004Draw.java313
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/drawing/UT2004Draw.java405
		double[] point = points[0];
		
		for (int i = 1; i < points.length; ++i) {
			if (first) first = false;
			else sb.append(";");
			writeDrawVector(sb, point);
			sb.append(";");
			writeDrawVector(sb, points[i]);
			point = points[i];
		}
		
		sb.append(";");
		writeDrawVector(sb, points[points.length-1]);
		sb.append(";");
		writeDrawVector(sb, points[0]);
		
		return sb.toString();
	}
	
	private DrawStayingDebugLines newDrawCommand() {
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/loquenavigator/KefikRunner.java443
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshRunner.java289
        if (velocity < 5 && runnerStep > 5) {
            debug("velocity is zero and we're in the middle of running");
            if (link != null && (link.getFromNavPoint().isLiftCenter() || link.getFromNavPoint().isLiftExit())) {
                if (link.getFromNavPoint().isLiftCenter()) {
                    debug("we're standing on the lift center, ok");
                } else {
                    debug("we're standing on the lift exit, ok");
                }
            } else {
                debug("and we're not standing on the lift center");
                return initJump(true);
            }
        }

        // check jump
        if (jumpRequired) {
            debug("jump is required");
            return resolveJump();
        }

        // just continue with ordinary run
        debug("keeping running to the target");
        move(firstLocation, secondLocation, focus);

        return true;
    }

    private boolean isAccelerating(double newVelocity, double oldVelocity) {
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/PlayerSharedImpl.java114
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/VehicleSharedImpl.java85
					if (pId.getPropertyToken().getToken().equals("Rotation"))
					{
						this.myRotation = (RotationProperty)property;
					}
				
					if (pId.getPropertyToken().getToken().equals("Location"))
					{
						this.myLocation = (LocationProperty)property;
					}
				
					if (pId.getPropertyToken().getToken().equals("Velocity"))
					{
						this.myVelocity = (VelocityProperty)property;
					}
				
					if (pId.getPropertyToken().getToken().equals("Team"))
					{
						this.myTeam = (IntegerProperty)property;
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChange.java67
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/ConfigChangeLocal.java72
						}
	
						
		    			
 		/**
         * Id of this config message. This Id is generated from BotId, string "_CONFCH" is added at the end. 
         */
        public abstract UnrealId getId()
 	;
		    			
 		/**
         * Unique Id of the bot. 
         */
        public abstract UnrealId getBotId()
 	;
		    			
 		/**
         * 
			True if we have to spawn the bot manually after each death
		 
         */
        public abstract boolean isManualSpawn()
 	;
		    			
 		/**
         * 
			True if the bot is using auto ray tracing (is provided with
			synchronous ATR messages). See ATR messages for more
			details.
		 
         */
        public abstract boolean isAutoTrace()
 	;
		    			
 		/**
         * The bot's name. 
         */
        public abstract String getName()
 	;
		    			
 		/**
         * 
			Bots default speed will be multiplied by this number. Ranges from 0.1 to 2 (default, can be set in ini in [GameBots2004.RemoteBot] MaxSpeed).
		 
         */
        public abstract double getSpeedMultiplier()
 	;
		    			
 		/**
         * 
			Bot rotation rate. Default rotation rate is: (Pitch=3072,Yaw=60000,Roll=2048) and may be configured in ini file in [GameBots2004.RemoteBot] DefaultRotationRate. (pitch - up/down, yaw - left/right, roll - equivalent of doing a cartwheel)
		 
         */
        public abstract Rotation getRotationRate()
 	;
		    			
 		/**
         * 
			If bot is invulnerable (cannot die) or not.
		 
         */
        public abstract boolean isInvulnerable()
 	;
		    			
 		/**
         * 
			The delay between two self message synchronous batches 
			(can range from 0.01 to 2 seconds). Will be used only if NewSelfBatchProtocol
			attribute is set to true in INIT message.
		 
         */
        public abstract double getSelfUpdateTime()
 	;
		    			
 		/**
         * 
			The delay between two synchronous batches containing vision updates
			(can range from 0.1 to 2 seconds). If NewSelfBatchProtocol
			attribute is set to true in INIT message, more batch messages containing only
			SELF message will arrive between two vision update batches (containing PLR,PRJ,INV.. messages).
		 
         */
        public abstract double getVisionTime()
 	;
		    			
 		/**
         * 
			Holds information how many times faster is exported location update message (UPD) compared to sync. batch, e.g. when this multiplier is set to 5 and vision time is 250 ms, UPD message will arrive every 50 ms.
		 
         */
        public abstract int getLocUpdateMultiplier()
 	;
		    			
 		/**
         * 
			If some additional debug information will be shown in the
			UT2004 server console window.
		 
         */
        public abstract boolean isShowDebug()
 	;
		    			
 		/**
         * 
			If true an actor visualizing the location the bot is
			actually looking at will appear in the game.
		 
         */
        public abstract boolean isShowFocalPoint()
 	;
		    			
 		/**
         * 
			if the GB should draw lines representing the auto ray traces
			of the bot (for more information see ATR message).
		 
         */
        public abstract boolean isDrawTraceLines()
 	;
		    			
 		/**
         * 
			It informs if sending of all GB synchronous messages is
			enabled or disabled.
		 
         */
        public abstract boolean isSynchronousOff()
 	;
		    			
 		/**
         * 
			It enables/disables automatic pickup of the bot. If true the items can be picked up through PICK command.
		 
         */
        public abstract boolean isAutoPickupOff()
 	;
		    			
 		/**
         * 
			Name of current BDI action.
		 
         */
        public abstract String getAction()
 	;
		    			
    	
    	
    	
    	public ConfigChangeLocal getLocal() {
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/loquenavigator/LoqueNavigator.java191
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigator.java178
        if (path == null || path.isEmpty()) {
            throw new RuntimeException("path is null or 0-sized!");
        }
        navigDestination = path.get(path.size() - 1).getLocation();
        navigIterator = path.iterator();

        int newOffset = -currentPathIndex;
        for (int i = 0; i < path.size() && i < currentPathIndex + navigNextLocationOffset && navigIterator.hasNext(); ++i) {
            ++newOffset;
            navigIterator.next();
        }
        log.fine("PATH EXTEND ... curr index " + currentPathIndex + ", old offset " + navigNextLocationOffset + ", new offset " + newOffset + ", path size " + path.size());
        navigNextLocationOffset = newOffset;
    }
FileLine
cz/cuni/amis/pogamut/ut2004/communication/translator/bot/state/MoverListState.java32
cz/cuni/amis/pogamut/ut2004/communication/translator/observer/state/MutatorListState.java31
		super(MutatorListStart.class, Mutator.class, MutatorListEnd.class);
	}
	
	@Override
	public void stateEntering(TranslatorContext context, IFSMState<InfoMessage, TranslatorContext> fromState, InfoMessage symbol) {
		super.restart(context);
		super.stateEntering(context, fromState, symbol);
	}
	
	@Override
	public void stateLeaving(TranslatorContext context, IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
		super.stateLeaving(context, toState, symbol);
		long simTime = 
			(symbol instanceof IWorldChangeEvent ? ((IWorldChangeEvent)symbol).getSimTime() : 0);
		context.getEventQueue().pushEvent(new MutatorListObtained(getList(), simTime));
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/NavPoint.java614
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Vehicle.java357
									)								    
								+ ", " + 
								    (getLocation()
 	 == null ? "null" :
										"[" + getLocation()
 	.getX() + ", " + getLocation()
 	.getY() + ", " + getLocation()
 	.getZ() + "]" 
									)
								+ ", " + 
								    (getVelocity()
 	 == null ? "null" :
										"[" + getVelocity()
 	.getX() + ", " + getVelocity()
 	.getY() + ", " + getVelocity()
 	.getZ() + "]" 
									)
								+ ", " + 
								    String.valueOf(isVisible()
 	)									
								+ ", " + 
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRay.java315
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/TraceResponse.java432
									)
								+ ", " + 
								    String.valueOf(isResult()
 	)									
								+ ", " + 
									(getHitNormal()
 	 == null ? "null" :
										"[" + getHitNormal()
 	.getX() + ", " + getHitNormal()
 	.getY() + ", " + getHitNormal()
 	.getZ() + "]" 
									)
								+ ", " + 
									(getHitLocation()
 	 == null ? "null" :
										"[" + getHitLocation()
 	.getX() + ", " + getHitLocation()
 	.getY() + ", " + getHitLocation()
 	.getZ() + "]" 
									)
								+ ", " + 
FileLine
cz/cuni/amis/pogamut/ut2004/bot/command/AdvancedLocomotion.java147
cz/cuni/amis/pogamut/ut2004/bot/command/AdvancedLocomotion.java172
    public void strafeRight(double distance) {
        if (self == null) {
            self = agent.getWorldView().getSingle(Self.class);
        }
        if (self != null) {
            Location startLoc = self.getLocation();
            Location directionVector = self.getRotation().toLocation();
            Location targetVec = directionVector.cross(new Location(0, 0, 1)).getNormalized().scale(-distance);

            agent.getAct().act(
                    new Move().setFirstLocation(startLoc.add(targetVec)).setFocusLocation(
FileLine
cz/cuni/amis/pogamut/ut2004/analyzer/UT2004Analyzer.java213
cz/cuni/amis/pogamut/ut2004/analyzer/UT2004Analyzer.java228
		super.startPausedAgent();
		if (getParams().getHumanLikeObserving() != null && getParams().getHumanLikeObserving()) {
			File humanLike_outputFileDir = new File(getParams().getOutputPath());
			humanLike_outputFileDir.mkdirs();
			humanLike_outputFile = new File(getParams().getOutputPath() + System.getProperty("file.separator") + "humanLikeData.log");
			try {
				humanLike_writer = new PrintWriter(new FileOutputStream(humanLike_outputFile));
			} catch (FileNotFoundException e) {
				throw new RuntimeException("Could not create writer for human-like log at: " + humanLike_outputFile.getAbsolutePath());
			}			
		}		
	}
	
	@Override
	protected void stopAgent() {
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/loquenavigator/LoqueNavigator.java72
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigator.java49
public class NavMeshNavigator<PATH_ELEMENT extends ILocated> extends AbstractUT2004PathNavigator<PATH_ELEMENT> {

    /**
     * Current navigation destination.
     */
    private Location navigDestination = null;

    /**
     * Current stage of the navigation.
     */
    private Stage navigStage = Stage.COMPLETED;

    /**
     * Current focus of the bot, if null, provide default focus.
     * <p>
     * <p>
     * Filled at the beginning of the
     * {@link NavMeshNavigator#navigate(ILocated, int)}.
     */
    private ILocated focus = null;

    /**
     * {@link Self} listener.
     */
    private class SelfListener implements IWorldObjectEventListener<Self, WorldObjectUpdatedEvent<Self>> {

        private IWorldView worldView;

        /**
         * Constructor. Registers itself on the given WorldView object.
         *
         * @param worldView WorldView object to listen to.
         */
        public SelfListener(IWorldView worldView) {
            this.worldView = worldView;
            worldView.addObjectListener(Self.class, WorldObjectUpdatedEvent.class, this);
        }

        @Override
        public void notify(WorldObjectUpdatedEvent<Self> event) {
            self = event.getObject();
        }
    }

    /**
     * {@link Self} listener
     */
    private SelfListener selfListener;

    /*========================================================================*/
    /**
     * Distance, which is considered as close enough for considering the bot to
     * be AT LOCATION/NAV POINT.
     *
     * If greater than 50, navigation will failed on DM-Flux2 when navigating
     * between health vials in one of map corers.
     */
    public static final int CLOSE_ENOUGH = 50;
FileLine
cz/cuni/amis/pogamut/ut2004/bot/command/AdvancedLocomotion.java222
cz/cuni/amis/pogamut/ut2004/bot/command/AdvancedLocomotion.java247
    public void strafeLeft(double distance) {
        if (self == null) {
            self = agent.getWorldView().getSingle(Self.class);
        }
        if (self != null) {
            Location startLoc = self.getLocation();
            Location directionVector = self.getRotation().toLocation();
            Location targetVec = directionVector.cross(new Location(0, 0, 1)).getNormalized().scale(distance);

            agent.getAct().act(
                    new Move().setFirstLocation(startLoc.add(targetVec)).setFocusLocation(
FileLine
cz/cuni/amis/pogamut/ut2004/agent/navigation/loquenavigator/LoqueNavigator.java1046
cz/cuni/amis/pogamut/ut2004/agent/navigation/navmesh/pathfollowing/NavMeshNavigator.java1112
        int localDistance2_1 = Integer.MAX_VALUE;
        int localDistance2_2 = Integer.MAX_VALUE;
        for (NavPointNeighbourLink link : navigCurrentNode.getOutgoingEdges().values()) {
            if (link.getToNavPoint().isTeleporter()) {
                localDistance2_1 = (int) memory.getLocation().getDistance(link.getToNavPoint().getLocation());
                localDistance2_2 = (int) memory.getLocation().getDistance(
                        Location.add(link.getToNavPoint().getLocation(), new Location(0, 0, 100))
                );
FileLine
cz/cuni/amis/pogamut/ut2004/factory/guice/remoteagent/UT2004ObserverModule.java58
cz/cuni/amis/pogamut/ut2004/factory/guice/remoteagent/UT2004ServerModule.java61
public class UT2004ServerModule<PARAMS extends UT2004AgentParameters> extends UT2004CommunicationModule<PARAMS> {

	/**
	 * Dependency provider for the world view, so the world view know when to start.
	 */
	protected AdaptableProvider<ComponentDependencies> worldViewDependenciesProvider = new AdaptableProvider<ComponentDependencies>(null);

	@Override
	public void prepareNewAgent(PARAMS agentParameters) {
		super.prepareNewAgent(agentParameters);
		worldViewDependenciesProvider.set(new ComponentDependencies(ComponentDependencyType.STARTS_WITH).add(agentParameters.getAgentId()));
	}
	
	@Override
	protected void configureModules() {
		super.configureModules();
		addModule(new AbstractModule() {

			@Override
			public void configure() {
				bind(IWorldMessageTranslator.class).to(ServerFSM.class);
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Player.java365
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/SelfLocal.java402
		              			"Action = " + String.valueOf(getAction()
 	) + " | " + 
		              		
		              			"EmotLeft = " + String.valueOf(getEmotLeft()
 	) + " | " + 
		              		
		              			"EmotCenter = " + String.valueOf(getEmotCenter()
 	) + " | " + 
		              		
		              			"EmotRight = " + String.valueOf(getEmotRight()
 	) + " | " + 
		              		
		              			"Bubble = " + String.valueOf(getBubble()
 	) + " | " + 
		              		
		              			"Anim = " + String.valueOf(getAnim()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/HearNoise.java274
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/HearPickup.java257
            		+
									(getSource()
 	 == null ? "null" :
										"\"" + getSource()
 	.getStringId() + "\"" 
									)
								+ ", " + 
									(getType()
 	 == null ? "null" :
										"\"" + getType()
 	 + "\"" 
									)
								+ ", " + 
									(getRotation()
 	 == null ? "null" :
										"[" + getRotation()
 	.getPitch() + ", " + getRotation()
 	.getYaw() + ", " + getRotation()
 	.getRoll() + "]" 
									)								    
								+ ", " + 
								    String.valueOf(getDistance()
 	)									
								
                   + ")";
        }
 	
 		
 		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
        	
		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
		
	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=event+classtype[@name=impl]) ---
	        
	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=event+classtype[@name=impl]) ---        	            	
 	
		}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BombInfo.java248
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/BombInfoMessage.java826
		              			"HolderTeam = " + String.valueOf(getHolderTeam()
 	) + " | " + 
		              		
		              			"State = " + String.valueOf(getState()
 	) + " | " + 
		              		
				"]";           		
        }
 	
 		
 		public String toHtmlString() {
 			return super.toString() + "[<br/>" +
            	
		              			"<b>Id</b> = " + String.valueOf(getId()
 	) + " <br/> " + 
		              		
		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
 	) + " <br/> " + 
		              		
		              			"<b>Location</b> = " + String.valueOf(getLocation()
 	) + " <br/> " + 
		              		
		              			"<b>Holder</b> = " + String.valueOf(getHolder()
 	) + " <br/> " + 
		              		
		              			"<b>HolderTeam</b> = " + String.valueOf(getHolderTeam()
 	) + " <br/> " + 
FileLine
cz/cuni/amis/pogamut/ut2004/bot/command/AdvancedLocomotion.java123
cz/cuni/amis/pogamut/ut2004/bot/command/AdvancedLocomotion.java147
    public void strafeRight(double distance, ILocated focusLocation) {
        if (self == null) {
            self = agent.getWorldView().getSingle(Self.class);
        }
        if (self != null) {
            Location startLoc = self.getLocation();
            Location directionVector = self.getRotation().toLocation();
            Location targetVec = directionVector.cross(new Location(0, 0, 1)).getNormalized().scale(-distance);

            agent.getAct().act(
                    new Move().setFirstLocation(startLoc.add(targetVec)).setFocusLocation(focusLocation.getLocation()));
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Yylex.java5929
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Yylex.java5955
	protected UnrealId worldObjectIdValue(String txt) {
		if (txt == null || txt.toLowerCase().equals("none")) return UnrealId.NONE;
		try {
        	String token = getToken(txt, 1);
        	if (token == null) {
        		warning("Can't get UnrealId token from text '"+txt+"'.");
        		return null;
        	}
        	return translator.getId(token);
        } catch (NullPointerException e) {
        	warning("Can't get UnrealId token from text '"+txt+"' (translator not set?).");
        	return null; 
        } catch (Exception e) {
        	exceptionOccured(e, "Can't get UnrealId token from text '"+txt+"'.");
        	return null;
        }
	}
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/IncomingProjectile.java343
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/Player.java485
 	.getRoll() + "]" 
									)								    
								+ ", " + 
								    (getLocation()
 	 == null ? "null" :
										"[" + getLocation()
 	.getX() + ", " + getLocation()
 	.getY() + ", " + getLocation()
 	.getZ() + "]" 
									)
								+ ", " + 
								    (getVelocity()
 	 == null ? "null" :
										"[" + getVelocity()
 	.getX() + ", " + getVelocity()
 	.getY() + ", " + getVelocity()
 	.getZ() + "]" 
									)
								+ ", " + 
								    String.valueOf(getTeam()
FileLine
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/AutoTraceRay.java292
cz/cuni/amis/pogamut/ut2004/communication/messages/gbinfomessages/FastTraceResponse.java268
										"\"" + getId()
 	 + "\"" 
									)
								+ ", " + 
								    (getFrom()
 	 == null ? "null" :
										"[" + getFrom()
 	.getX() + ", " + getFrom()
 	.getY() + ", " + getFrom()
 	.getZ() + "]" 
									)
								+ ", " + 
								    (getTo()
 	 == null ? "null" :
										"[" + getTo()
 	.getX() + ", " + getTo()
 	.getY() + ", " + getTo()
 	.getZ() + "]" 
									)
								+ ", " + 
								    String.valueOf(isResult()
FileLine
cz/cuni/amis/pogamut/ut2004/bot/command/AdvancedLocomotion.java198
cz/cuni/amis/pogamut/ut2004/bot/command/AdvancedLocomotion.java247
    public void strafeLeft(double distance, ILocated focusLocation) {
        if (self == null) {
            self = agent.getWorldView().getSingle(Self.class);
        }
        if (self != null) {
            Location startLoc = self.getLocation();
            Location directionVector = self.getRotation().toLocation();
            Location targetVec = directionVector.cross(new Location(0, 0, 1)).getNormalized().scale(distance);

            agent.getAct().act(
                    new Move().setFirstLocation(startLoc.add(targetVec)).setFocusLocation(focusLocation.getLocation()));