
            /**
            IMPORTANT !!!
       
            DO NOT EDIT THIS FILE. IT IS GENERATED FROM approriate xml file in xmlresources/gbinfomessages BY
            THE JavaClassesGenerator.xslt. MODIFY THESE FILES INSTEAD OF THIS ONE.
       
            IMPORTANT END !!!
            */
            package
            cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages;
	    		import java.util.*;    
    import javax.vecmath.*;    
    import cz.cuni.amis.pogamut.base.communication.messages.*;    
    import cz.cuni.amis.pogamut.base.agent.worldview.*;    
    import cz.cuni.amis.pogamut.base.agent.worldview.objects.*;    
    import cz.cuni.amis.pogamut.base.communication.translator.*;    
    import cz.cuni.amis.pogamut.ut2004.communication.translator.itemdescriptor.*;    
    import cz.cuni.amis.pogamut.ut2004.communication.messages.ItemType.Category;    
    import cz.cuni.amis.pogamut.base.exceptions.*;    
    import cz.cuni.amis.pogamut.base3d.worldview.objects.*;    
    import cz.cuni.amis.pogamut.ut2004.communication.messages.*;    
    import cz.cuni.amis.pogamut.ut2004.agent.worldview.objects.*;    
                
            
            /**
              
		Asynchronous message. Sent after succesfull init command (so usually just once). 
		Holds many attributes of the bots like speed, id starting and max health, etc.
		Some attributes are not used due to GameBots mechanics.
	
                          Corresponding GameBots message is 
                          INITED.
                      
             */
            
            public class
            InitedMessage
                    extends GBEvent
                
	            	implements IWorldEvent
                        
            {
            
            
            
    	/** Example how the message looks like - used during parser tests. */
    	public static final String PROTOTYPE = 
    		"INITED {Id unreal_id} {HealthStart 0} {HealthFull 0} {HealthMax 0} {AdrenalineStart 0} {AdrenalineMax 0} {ShieldStrengthStart 0} {ShieldStrengthMax 0} {MaxMultiJump 0} {DamageScaling 0} {GroundSpeed 0} {WaterSpeed 0} {AirSpeed 0} {LadderSpeed 0} {AccelRate 0} {JumpZ 0} {MultiJumpBoost 0} {MaxFallSpeed 0} {DodgeSpeedFactor 0} {DodgeSpeedZ 0} {AirControl 0}";
    
            
            /////// Properties BEGIN
            
        /**
        
			A unique unreal Id of the new bot.
		 */
        protected
         UnrealId Id = 
        	null;
        
        
        /**
        
			A unique unreal Id of the new bot.
		 */
        public
        UnrealId getId() {
            return
         Id;
        }
        

        
        /**
        
			Bot will always start with this health amount (usually 100). 
		 */
        protected
         int HealthStart = 
        	0;
        
        
        /**
        
			Bot will always start with this health amount (usually 100). 
		 */
        public
        int getHealthStart() {
            return
         HealthStart;
        }
        

        
        /**
        
			Full health of the bot (usually 100).
		 */
        protected
         int HealthFull = 
        	0;
        
        
        /**
        
			Full health of the bot (usually 100).
		 */
        public
        int getHealthFull() {
            return
         HealthFull;
        }
        

        
        /**
        
			Maximum health of the bot (default 199).
		 */
        protected
         int HealthMax = 
        	0;
        
        
        /**
        
			Maximum health of the bot (default 199).
		 */
        public
        int getHealthMax() {
            return
         HealthMax;
        }
        

        
        /**
        
			Amount of adrenaline at the start. Usually 0.
		 */
        protected
         double AdrenalineStart = 
        	0;
        
        
        /**
        
			Amount of adrenaline at the start. Usually 0.
		 */
        public
        double getAdrenalineStart() {
            return
         AdrenalineStart;
        }
        

        
        /**
        
			Maxium amount of the adrenaline. Usually 100 (this can trigger the combos).
		 */
        protected
         double AdrenalineMax = 
        	0;
        
        
        /**
        
			Maxium amount of the adrenaline. Usually 100 (this can trigger the combos).
		 */
        public
        double getAdrenalineMax() {
            return
         AdrenalineMax;
        }
        

        
        /**
        
			Starting strength of the bot armor (usually 0).
		 */
        protected
         int ShieldStrengthStart = 
        	0;
        
        
        /**
        
			Starting strength of the bot armor (usually 0).
		 */
        public
        int getShieldStrengthStart() {
            return
         ShieldStrengthStart;
        }
        

        
        /**
        
			Maximum strength of the bot armor (usually 150).
		 */
        protected
         int ShieldStrengthMax = 
        	0;
        
        
        /**
        
			Maximum strength of the bot armor (usually 150).
		 */
        public
        int getShieldStrengthMax() {
            return
         ShieldStrengthMax;
        }
        

        
        /**
        
			Maximum amount of succesing jumps. Currently limited to double jump in GB.
		 */
        protected
         int MaxMultiJump = 
        	0;
        
        
        /**
        
			Maximum amount of succesing jumps. Currently limited to double jump in GB.
		 */
        public
        int getMaxMultiJump() {
            return
         MaxMultiJump;
        }
        

        
        /**
        
			Damage scaling for this bot. (he will deal reduced damage depending on the setting).
		 */
        protected
         double DamageScaling = 
        	0;
        
        
        /**
        
			Damage scaling for this bot. (he will deal reduced damage depending on the setting).
		 */
        public
        double getDamageScaling() {
            return
         DamageScaling;
        }
        

        
        /**
        
			Groundspeed of the bot (on the ground). Default 440.
		 */
        protected
         double GroundSpeed = 
        	0;
        
        
        /**
        
			Groundspeed of the bot (on the ground). Default 440.
		 */
        public
        double getGroundSpeed() {
            return
         GroundSpeed;
        }
        

        
        /**
        
			Waterspeed of the bot (in the water).
		 */
        protected
         double WaterSpeed = 
        	0;
        
        
        /**
        
			Waterspeed of the bot (in the water).
		 */
        public
        double getWaterSpeed() {
            return
         WaterSpeed;
        }
        

        
        /**
        
			AirSpeed of the bot (in the air).
		 */
        protected
         double AirSpeed = 
        	0;
        
        
        /**
        
			AirSpeed of the bot (in the air).
		 */
        public
        double getAirSpeed() {
            return
         AirSpeed;
        }
        

        
        /**
        
			Ladderspeed of the bot (on the ladder).
		 */
        protected
         double LadderSpeed = 
        	0;
        
        
        /**
        
			Ladderspeed of the bot (on the ladder).
		 */
        public
        double getLadderSpeed() {
            return
         LadderSpeed;
        }
        

        
        /**
        
			Accelartion rate of this bot. How fast he accelerates.
		 */
        protected
         double AccelRate = 
        	0;
        
        
        /**
        
			Accelartion rate of this bot. How fast he accelerates.
		 */
        public
        double getAccelRate() {
            return
         AccelRate;
        }
        

        
        /**
        
			 Bot Jump's Z boost.
		 */
        protected
         double JumpZ = 
        	0;
        
        
        /**
        
			 Bot Jump's Z boost.
		 */
        public
        double getJumpZ() {
            return
         JumpZ;
        }
        

        
        /**
        
			Not used in GB.
		 */
        protected
         double MultiJumpBoost = 
        	0;
        
        
        /**
        
			Not used in GB.
		 */
        public
        double getMultiJumpBoost() {
            return
         MultiJumpBoost;
        }
        

        
        /**
        
			 Max fall speed of the bot.
		 */
        protected
         double MaxFallSpeed = 
        	0;
        
        
        /**
        
			 Max fall speed of the bot.
		 */
        public
        double getMaxFallSpeed() {
            return
         MaxFallSpeed;
        }
        

        
        /**
        
			Dodge speed factor.
		 */
        protected
         double DodgeSpeedFactor = 
        	0;
        
        
        /**
        
			Dodge speed factor.
		 */
        public
        double getDodgeSpeedFactor() {
            return
         DodgeSpeedFactor;
        }
        

        
        /**
        
			Dodge jump Z boost of the bot. 
		 */
        protected
         double DodgeSpeedZ = 
        	0;
        
        
        /**
        
			Dodge jump Z boost of the bot. 
		 */
        public
        double getDodgeSpeedZ() {
            return
         DodgeSpeedZ;
        }
        

        
        /**
        
			How well can be the bot controlled in the air (ranges from 0 to 1).
		 */
        protected
         double AirControl = 
        	0;
        
        
        /**
        
			How well can be the bot controlled in the air (ranges from 0 to 1).
		 */
        public
        double getAirControl() {
            return
         AirControl;
        }
        

        
            /////// Properties END
            
            /////// Extra Java code BEGIN
                        	
            	/////// Additional code from xslt BEGIN            	 
            			
            		
            		
            	/////// Additional code from xslt END            
				                    
	            /////// Extra Java from XML BEGIN
            		
            	/////// Extra Java from XML END
            	    
            /////// Extra Java code END
            
            
            
            /**
              * Cloning constructor.
              */
             public InitedMessage(InitedMessage original) {
                
                     this.Id=original.Id;
                
                     this.HealthStart=original.HealthStart;
                
                     this.HealthFull=original.HealthFull;
                
                     this.HealthMax=original.HealthMax;
                
                     this.AdrenalineStart=original.AdrenalineStart;
                
                     this.AdrenalineMax=original.AdrenalineMax;
                
                     this.ShieldStrengthStart=original.ShieldStrengthStart;
                
                     this.ShieldStrengthMax=original.ShieldStrengthMax;
                
                     this.MaxMultiJump=original.MaxMultiJump;
                
                     this.DamageScaling=original.DamageScaling;
                
                     this.GroundSpeed=original.GroundSpeed;
                
                     this.WaterSpeed=original.WaterSpeed;
                
                     this.AirSpeed=original.AirSpeed;
                
                     this.LadderSpeed=original.LadderSpeed;
                
                     this.AccelRate=original.AccelRate;
                
                     this.JumpZ=original.JumpZ;
                
                     this.MultiJumpBoost=original.MultiJumpBoost;
                
                     this.MaxFallSpeed=original.MaxFallSpeed;
                
                     this.DodgeSpeedFactor=original.DodgeSpeedFactor;
                
                     this.DodgeSpeedZ=original.DodgeSpeedZ;
                
                     this.AirControl=original.AirControl;
                
             }   
             
             
                 /**
                  * Used by Yylex to create empty message then to fill it's protected fields (Yylex is in the same package).
                  */
	             public InitedMessage() {
	             }
             
                
                 
            public String toString() {
                return
                
                		super.toString() + " | " +
                		
				               "Id = " + 
				               String.valueOf(Id) + " | " +
				            
				               "HealthStart = " + 
				               String.valueOf(HealthStart) + " | " +
				            
				               "HealthFull = " + 
				               String.valueOf(HealthFull) + " | " +
				            
				               "HealthMax = " + 
				               String.valueOf(HealthMax) + " | " +
				            
				               "AdrenalineStart = " + 
				               String.valueOf(AdrenalineStart) + " | " +
				            
				               "AdrenalineMax = " + 
				               String.valueOf(AdrenalineMax) + " | " +
				            
				               "ShieldStrengthStart = " + 
				               String.valueOf(ShieldStrengthStart) + " | " +
				            
				               "ShieldStrengthMax = " + 
				               String.valueOf(ShieldStrengthMax) + " | " +
				            
				               "MaxMultiJump = " + 
				               String.valueOf(MaxMultiJump) + " | " +
				            
				               "DamageScaling = " + 
				               String.valueOf(DamageScaling) + " | " +
				            
				               "GroundSpeed = " + 
				               String.valueOf(GroundSpeed) + " | " +
				            
				               "WaterSpeed = " + 
				               String.valueOf(WaterSpeed) + " | " +
				            
				               "AirSpeed = " + 
				               String.valueOf(AirSpeed) + " | " +
				            
				               "LadderSpeed = " + 
				               String.valueOf(LadderSpeed) + " | " +
				            
				               "AccelRate = " + 
				               String.valueOf(AccelRate) + " | " +
				            
				               "JumpZ = " + 
				               String.valueOf(JumpZ) + " | " +
				            
				               "MultiJumpBoost = " + 
				               String.valueOf(MultiJumpBoost) + " | " +
				            
				               "MaxFallSpeed = " + 
				               String.valueOf(MaxFallSpeed) + " | " +
				            
				               "DodgeSpeedFactor = " + 
				               String.valueOf(DodgeSpeedFactor) + " | " +
				            
				               "DodgeSpeedZ = " + 
				               String.valueOf(DodgeSpeedZ) + " | " +
				            
				               "AirControl = " + 
				               String.valueOf(AirControl) + " | " +
				             "";
                	 
             }
             
             public String toHtmlString() {
                return super.toString() +
             
            "<b>Id</b> : " + 
            String.valueOf(Id) + 
            " <br/> " +
             
            "<b>HealthStart</b> : " + 
            String.valueOf(HealthStart) + 
            " <br/> " +
             
            "<b>HealthFull</b> : " + 
            String.valueOf(HealthFull) + 
            " <br/> " +
             
            "<b>HealthMax</b> : " + 
            String.valueOf(HealthMax) + 
            " <br/> " +
             
            "<b>AdrenalineStart</b> : " + 
            String.valueOf(AdrenalineStart) + 
            " <br/> " +
             
            "<b>AdrenalineMax</b> : " + 
            String.valueOf(AdrenalineMax) + 
            " <br/> " +
             
            "<b>ShieldStrengthStart</b> : " + 
            String.valueOf(ShieldStrengthStart) + 
            " <br/> " +
             
            "<b>ShieldStrengthMax</b> : " + 
            String.valueOf(ShieldStrengthMax) + 
            " <br/> " +
             
            "<b>MaxMultiJump</b> : " + 
            String.valueOf(MaxMultiJump) + 
            " <br/> " +
             
            "<b>DamageScaling</b> : " + 
            String.valueOf(DamageScaling) + 
            " <br/> " +
             
            "<b>GroundSpeed</b> : " + 
            String.valueOf(GroundSpeed) + 
            " <br/> " +
             
            "<b>WaterSpeed</b> : " + 
            String.valueOf(WaterSpeed) + 
            " <br/> " +
             
            "<b>AirSpeed</b> : " + 
            String.valueOf(AirSpeed) + 
            " <br/> " +
             
            "<b>LadderSpeed</b> : " + 
            String.valueOf(LadderSpeed) + 
            " <br/> " +
             
            "<b>AccelRate</b> : " + 
            String.valueOf(AccelRate) + 
            " <br/> " +
             
            "<b>JumpZ</b> : " + 
            String.valueOf(JumpZ) + 
            " <br/> " +
             
            "<b>MultiJumpBoost</b> : " + 
            String.valueOf(MultiJumpBoost) + 
            " <br/> " +
             
            "<b>MaxFallSpeed</b> : " + 
            String.valueOf(MaxFallSpeed) + 
            " <br/> " +
             
            "<b>DodgeSpeedFactor</b> : " + 
            String.valueOf(DodgeSpeedFactor) + 
            " <br/> " +
             
            "<b>DodgeSpeedZ</b> : " + 
            String.valueOf(DodgeSpeedZ) + 
            " <br/> " +
             
            "<b>AirControl</b> : " + 
            String.valueOf(AirControl) + 
            " <br/> " +
             "";
             }            
             
             
             
             }
                         
        