View Javadoc

1   
2               /**
3               IMPORTANT !!!
4   
5               DO NOT EDIT THIS FILE. IT IS GENERATED FROM approriate xml file in xmlresources/gbinfomessages BY
6               THE JavaClassesGenerator.xslt. MODIFY THESE FILES INSTEAD OF THIS ONE.
7   
8               IMPORTANT END !!!
9               */
10              package
11              cz.cuni.amis.pogamut.udk.communication.messages.gbinfomessages;
12  	    		import java.util.*;
13      import javax.vecmath.*;
14      import cz.cuni.amis.pogamut.base.communication.messages.*;
15      import cz.cuni.amis.pogamut.base.communication.worldview.*;
16      import cz.cuni.amis.pogamut.base.communication.worldview.event.*;
17      import cz.cuni.amis.pogamut.base.communication.worldview.object.*;
18      import cz.cuni.amis.pogamut.base.communication.translator.event.*;
19      import cz.cuni.amis.pogamut.base3d.worldview.object.*;
20      import cz.cuni.amis.pogamut.base3d.worldview.object.event.*;
21      import cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId;
22      import cz.cuni.amis.pogamut.udk.communication.messages.*;
23      import cz.cuni.amis.pogamut.udk.communication.worldview.objects.*;
24      import cz.cuni.amis.pogamut.udk.communication.translator.itemdescriptor.*;
25      import cz.cuni.amis.pogamut.udk.communication.messages.ItemType.Category;
26      import cz.cuni.amis.utils.exception.*;
27      import cz.cuni.amis.pogamut.base.communication.translator.event.IWorldObjectUpdateResult.Result;
28      import cz.cuni.amis.utils.SafeEquals;
29      import cz.cuni.amis.pogamut.multi.communication.worldview.object.*;
30      
31              
32              /**
33                
34  		Synchronous/asynchronous message. Holds all attributes of item category.
35  		There are many item categories in UDK. This class holds attributes for all of them.
36  		When some item category is exported just appropriate attributes are exported with it.
37  	
38                            Corresponding GameBots message is
39                            ITC.
40                        
41               */
42              
43              public class
44              ItemCategory
45                      extends GBObjectUpdate
46                  
47  	            	implements IGBWorldObjectEvent, IWorldObject, ItemTyped
48  
49              {
50              
51              /**
52                Creates new instance of command ItemCategory.
53                
54  		Synchronous/asynchronous message. Holds all attributes of item category.
55  		There are many item categories in UDK. This class holds attributes for all of them.
56  		When some item category is exported just appropriate attributes are exported with it.
57  	Corresponding GameBots message for this command is
58                .
59                    @param InventoryType 
60  			By this class the item is represented in inventory. This is inventory type class.
61  		
62                    @param PickupType 
63  			By this class the item is represented in the map. This is pickup type class.
64  		
65                    @param ItemCategory 
66  			Category of the item. Can be "Weapon", "Ammo", "Armor", "Shield", "Health" or "Other".
67  		
68                    @param Melee 
69  		For Weapon. True if the weapon is melee weapon (close range).
70  		
71                    @param Sniping 
72  		For Weapon. True if the weapon is sniping weapon (long range).
73  		
74                    @param UsesAltAmmo 
75  		For Weapon. True if the weapon uses two separate ammos for primary and secondary firing mode.
76  		
77                    @param PriFireModeType 
78  			For Weapon, primary firing mode. Type of the firing mode. If none, the weapon does not have this fireing mode.
79  		
80                    @param PriSplashDamage 
81  			For Weapon, primary firing mode. If this mode does splash damage.
82  		
83                    @param PriSplashJump 
84  			For Weapon, primary firing mode. If the splash damage of this firing mode can be used for increasing jump height.
85  		
86                    @param PriRecomSplashDamage 
87  			For Weapon, primary firing mode. If the engine recommends to use this splash damage. TODO
88  		
89                    @param PriTossed 
90  			For Weapon, primary firing mode. If the this mode is tossing something (projectile) out.
91  		
92                    @param PriLeadTarget 
93  			For Weapon, primary firing mode. If this mode can lead the target. TODO
94  		
95                    @param PriInstantHit 
96  			For Weapon, primary firing mode. If this mode does instant hits - weapon hits instantly - no flying time for bullets.
97  		
98                    @param PriFireOnRelease 
99  			For Weapon, primary firing mode. If to fire this mode you need to press shooting button (start shooting) and then release it (stop shooting). Usually for charging weapons.
100 		
101                   @param PriWaitForRelease 
102 			For Weapon, primary firing mode. If to fire this mode you need to stop pressing shooting button between two shots to shoot. You will fire once when pressing the button, then you need to press it again to fire again.
103 		
104                   @param PriModeExclusive 
105 			For Weapon, primary firing mode. If this firing mode cannot be used at the same time with other firing mode of the weapon.
106 		
107                   @param PriFireRate 
108 			For Weapon, primary firing mode. Fire rate in seconds. How fast the weapon fires if we are firing continuosly.
109 		
110                   @param PriBotRefireRate 
111 			For Weapon, primary firing mode. Refire rate for bots in seconds. When we stop firing how long does it take to resume firing again.
112 		
113                   @param PriAmmoPerFire 
114 			For Weapon, primary firing mode. Needed amount of ammo to fire this weapon mode once.
115 		
116                   @param PriAmmoClipSize 
117 			For Weapon, primary firing mode. If the weapon mode has clips, their size. TODO
118 		
119                   @param PriAimError 
120 			For Weapon, primary firing mode. Aiming error of the weapon. 0 none, 1000 quite a bit.
121 		
122                   @param PriSpread 
123 			For Weapon, primary firing mode. Double, rotator units. No relation to aim error.
124 		
125                   @param PriSpreadStyle 
126 			For Weapon, primary firing mode. Type of spreading. TODO
127 		
128                   @param PriFireCount 
129 			For Weapon, primary firing mode. TODO
130 		
131                   @param PriDamageAtten 
132 			For Weapon, primary firing mode. Attenuate instant-hit/projectile damage by this multiplier.
133 		
134                   @param PriAmmoType 
135 			For Ammo or for Weapon, primary firing mode. Class of the ammo.
136 		
137                   @param PriInitialAmount 
138 			For Ammo or for Weapon, primary firing mode. Amount of ammo we get if we pick up the item (weapon or ammo) for the first time.
139 		
140                   @param PriMaxAmount 
141 			For Ammo or for Weapon, primary firing mode. Max amount of ammo of this type we can have in our inventory.
142 		
143                   @param PriMaxRange 
144 			For Ammo or for Weapon, primary firing mode. TODO
145 		
146                   @param PriDamageType 
147 			For Ammo or for Weapon, primary firing mode. Type of the damage. Maybe the same string for all damage.
148 		
149                   @param PriArmorStops 
150 			For Ammo or for Weapon, primary firing mode. If the armor is effective against this damage type.
151 		
152                   @param PriAlwaysGibs 
153 			For Ammo or for Weapon, primary firing mode. If this damage kills instantly.
154 		
155                   @param PriSpecial 
156 			For Ammo or for Weapon, primary firing mode. If this damage is special. TODO
157 		
158                   @param PriDetonatesGoop 
159 			For Ammo or for Weapon, primary firing mode. If this damage detonates goops. TODO
160 		
161                   @param PriSuperWeapon 
162 			For Ammo or for Weapon, primary firing mode. If this damage is super weapon damage. Kills everyone even teammates.
163 		
164                   @param PriExtraMomZ 
165 			For Ammo or for Weapon, primary firing mode. If this damage adds something to Panws momentum. TODO
166 		
167                   @param PriProjType 
168 			For Ammo or for Weapon, primary firing mode. Class of the projectile this ammo, weapon spawns. 
169 		
170                   @param PriDamage 
171 			For Ammo or for Weapon, primary firing mode. How much damage this projectile does.
172 		
173                   @param PriDamageMax 
174 			For Ammo or for Weapon, primary firing mode. How much maximum damage this projectile does.
175 		
176                   @param PriDamageMin 
177 			For Ammo or for Weapon, primary firing mode. How much minimum damage this projectile does.
178 		
179                   @param PriSpeed 
180 			For Ammo or for Weapon, primary firing mode. Default projectile speed.
181 		
182                   @param PriMaxSpeed 
183 			For Ammo or for Weapon, primary firing mode. Maximum projectile speed.
184 		
185                   @param PriLifeSpan 
186 			For Ammo or for Weapon, primary firing mode. Maximum amount of time in seconds this projectile can survive in the environment.
187 		
188                   @param PriDamageRadius 
189 			For Ammo or for Weapon, primary firing mode. If the projectile does splash damage, here is radius in ut units of the splash.
190 		
191                   @param PriTossZ 
192 			For Ammo or for Weapon, primary firing mode. If the projectile is tossed, here is velocity in Z direction of the toss. TODO
193 		
194                   @param PriMaxEffectDistance 
195 			For Ammo or for Weapon, primary firing mode. Maximum effective distance. TODO
196 		
197                   @param SecFireModeType 
198 			For Weapon, secondary firing mode. Type of the firing mode. If none, the weapon does not have this fireing mode.
199 		
200                   @param SecSplashDamage 
201 			For Weapon, secondary firing mode. If this mode does splash damage.
202 		
203                   @param SecSplashJump 
204 			For Weapon, secondary firing mode. If the splash damage of this firing mode can be used for increasing jump height.
205 		
206                   @param SecRecomSplashDamage 
207 			For Weapon, secondary firing mode. If the engine recommends to use this splash damage. TODO
208 		
209                   @param SecTossed 
210 			For Weapon, secondary firing mode. If the this mode is tossing something (projectile) out.
211 		
212                   @param SecLeadTarget 
213 			For Weapon, secondary firing mode. If this mode can lead the target. TODO
214 		
215                   @param SecInstantHit 
216 			For Weapon, secondary firing mode. If this mode does instant hits - weapon hits instantly - no flying time for bullets.
217 		
218                   @param SecFireOnRelease 
219 			For Weapon, secondary firing mode. If to fire this mode you need to press shooting button (start shooting) and then release it (stop shooting). Usually for charging weapons.
220 		
221                   @param SecWaitForRelease 
222 			For Weapon, secondary firing mode. If to fire this mode you need to stop pressing shooting button between two shots to shoot. You will fire once when pressing the button, then you need to press it again to fire again.
223 		
224                   @param SecModeExclusive 
225 			For Weapon, secondary firing mode. If this firing mode cannot be used at the same time with other firing mode of the weapon.
226 		
227                   @param SecFireRate 
228 			For Weapon, secondary firing mode. Fire rate in seconds.
229 		
230                   @param SecBotRefireRate 
231 			For Weapon, secondary firing mode. Refire rate for bots in seconds. TODO
232 		
233                   @param SecAmmoPerFire 
234 			For Weapon, secondary firing mode. Needed amount of ammo to fire this weapon mode once.
235 		
236                   @param SecAmmoClipSize 
237 			For Weapon, secondary firing mode. If the weapon mode has clips, their size. TODO
238 		
239                   @param SecAimError 
240 			For Weapon, secondary firing mode. Aiming error of the weapon. 0 none, 1000 quite a bit.
241 		
242                   @param SecSpread 
243 			For Weapon, secondary firing mode. Double, rotator units. No relation to aim error.
244 		
245                   @param SecSpreadStyle 
246 			For Weapon, secondary firing mode. Type of spreading. TODO
247 		
248                   @param SecFireCount 
249 			For Weapon, secondary firing mode. TODO
250 		
251                   @param SecDamageAtten 
252 			For Weapon, secondary firing mode. Attenuate instant-hit/projectile damage by this multiplier.
253 		
254                   @param SecAmmoType 
255 			For Ammo or for Weapon, secondary firing mode. Class of the ammo.
256 		
257                   @param SecInitialAmount 
258 			For Ammo or for Weapon, secondary firing mode. Amount of ammo we get if we pick up the item (weapon or ammo) for the first time.
259 		
260                   @param SecMaxAmount 
261 			For Ammo or for Weapon, secondary firing mode. Max amount of ammo of this type we can have in our inventory.
262 		
263                   @param SecMaxRange 
264 			For Ammo or for Weapon, secondary firing mode. TODO
265 		
266                   @param SecDamageType 
267 			For Ammo or for Weapon, secondary firing mode. Type of the damage. Maybe the same string for all damage.
268 		
269                   @param SecArmorStops 
270 			For Ammo or for Weapon, secondary firing mode. If the armor is effective against this damage type.
271 		
272                   @param SecAlwaysGibs 
273 			For Ammo or for Weapon, secondary firing mode. If this damage kills instantly.
274 		
275                   @param SecSpecial 
276 			For Ammo or for Weapon, secondary firing mode. If this damage is special. TODO
277 		
278                   @param SecDetonatesGoop 
279 			For Ammo or for Weapon, secondary firing mode. If this damage detonates goops. TODO
280 		
281                   @param SecSuperWeapon 
282 			For Ammo or for Weapon, secondary firing mode. If this damage is super weapon damage. Kills everyone even teammates.
283 		
284                   @param SecExtraMomZ 
285 			For Ammo or for Weapon, secondary firing mode. If this damage adds something to Panws momentum. TODO
286 		
287                   @param SecProjType 
288 			For Ammo or for Weapon, secondary firing mode. Class of the projectile this ammo, weapon spawns. 
289 		
290                   @param SecDamage 
291 			For Ammo or for Weapon, secondary firing mode. How much damage this projectile does.
292 		
293                   @param SecDamageMax 
294 			For Ammo or for Weapon, secondary firing mode. How much maximum damage this projectile does.
295 		
296                   @param SecDamageMin 
297 			For Ammo or for Weapon, secondary firing mode. How much minimum damage this projectile does.
298 		
299                   @param SecSpeed 
300 			For Ammo or for Weapon, secondary firing mode. Default projectile speed.
301 		
302                   @param SecMaxSpeed 
303 			For Ammo or for Weapon, secondary firing mode. Maximum projectile speed.
304 		
305                   @param SecLifeSpan 
306 			For Ammo or for Weapon, secondary firing mode. Maximum amount of time in seconds this projectile can survive in the environment.
307 		
308                   @param SecDamageRadius 
309 			For Ammo or for Weapon, secondary firing mode. If the projectile does splash damage, here is radius in ut units of the splash.
310 		
311                   @param SecTossZ 
312 			For Ammo or for Weapon, secondary firing mode. If the projectile is tossed, here is velocity in Z direction of the toss. TODO
313 		
314                   @param SecMaxEffectDistance 
315 			For Ammo or for Weapon, secondary firing mode. Maximum effective distance. TODO
316 		
317                   @param Amount 
318 			If this item is some ammo or health pack, here we can find
319 			out how much of the attribute this item will add.
320 		
321                   @param SuperHeal 
322 			If this item is health. True if super health.
323 		
324               */
325              public ItemCategory(
326                 String InventoryType,  ItemType PickupType,  Category ItemCategory,  boolean Melee,  boolean Sniping,  boolean UsesAltAmmo,  String PriFireModeType,  boolean PriSplashDamage,  boolean PriSplashJump,  boolean PriRecomSplashDamage,  boolean PriTossed,  boolean PriLeadTarget,  boolean PriInstantHit,  boolean PriFireOnRelease,  boolean PriWaitForRelease,  boolean PriModeExclusive,  double PriFireRate,  double PriBotRefireRate,  int PriAmmoPerFire,  int PriAmmoClipSize,  double PriAimError,  double PriSpread,  int PriSpreadStyle,  int PriFireCount,  double PriDamageAtten,  String PriAmmoType,  int PriInitialAmount,  int PriMaxAmount,  double PriMaxRange,  String PriDamageType,  boolean PriArmorStops,  boolean PriAlwaysGibs,  boolean PriSpecial,  boolean PriDetonatesGoop,  boolean PriSuperWeapon,  boolean PriExtraMomZ,  String PriProjType,  double PriDamage,  double PriDamageMax,  double PriDamageMin,  double PriSpeed,  double PriMaxSpeed,  double PriLifeSpan,  double PriDamageRadius,  double PriTossZ,  double PriMaxEffectDistance,  String SecFireModeType,  boolean SecSplashDamage,  boolean SecSplashJump,  boolean SecRecomSplashDamage,  boolean SecTossed,  boolean SecLeadTarget,  boolean SecInstantHit,  boolean SecFireOnRelease,  boolean SecWaitForRelease,  boolean SecModeExclusive,  double SecFireRate,  double SecBotRefireRate,  int SecAmmoPerFire,  int SecAmmoClipSize,  double SecAimError,  double SecSpread,  int SecSpreadStyle,  int SecFireCount,  double SecDamageAtten,  String SecAmmoType,  int SecInitialAmount,  int SecMaxAmount,  double SecMaxRange,  String SecDamageType,  boolean SecArmorStops,  boolean SecAlwaysGibs,  boolean SecSpecial,  boolean SecDetonatesGoop,  boolean SecSuperWeapon,  boolean SecExtraMomZ,  String SecProjType,  double SecDamage,  double SecDamageMax,  double SecDamageMin,  double SecSpeed,  double SecMaxSpeed,  double SecLifeSpan,  double SecDamageRadius,  double SecTossZ,  double SecMaxEffectDistance,  int Amount,  boolean SuperHeal) {
327                     
328                     this.InventoryType = InventoryType;
329                 
330                     this.PickupType = PickupType;
331                 
332                     this.ItemCategory = ItemCategory;
333                 
334                     this.Melee = Melee;
335                 
336                     this.Sniping = Sniping;
337                 
338                     this.UsesAltAmmo = UsesAltAmmo;
339                 
340                     this.PriFireModeType = PriFireModeType;
341                 
342                     this.PriSplashDamage = PriSplashDamage;
343                 
344                     this.PriSplashJump = PriSplashJump;
345                 
346                     this.PriRecomSplashDamage = PriRecomSplashDamage;
347                 
348                     this.PriTossed = PriTossed;
349                 
350                     this.PriLeadTarget = PriLeadTarget;
351                 
352                     this.PriInstantHit = PriInstantHit;
353                 
354                     this.PriFireOnRelease = PriFireOnRelease;
355                 
356                     this.PriWaitForRelease = PriWaitForRelease;
357                 
358                     this.PriModeExclusive = PriModeExclusive;
359                 
360                     this.PriFireRate = PriFireRate;
361                 
362                     this.PriBotRefireRate = PriBotRefireRate;
363                 
364                     this.PriAmmoPerFire = PriAmmoPerFire;
365                 
366                     this.PriAmmoClipSize = PriAmmoClipSize;
367                 
368                     this.PriAimError = PriAimError;
369                 
370                     this.PriSpread = PriSpread;
371                 
372                     this.PriSpreadStyle = PriSpreadStyle;
373                 
374                     this.PriFireCount = PriFireCount;
375                 
376                     this.PriDamageAtten = PriDamageAtten;
377                 
378                     this.PriAmmoType = PriAmmoType;
379                 
380                     this.PriInitialAmount = PriInitialAmount;
381                 
382                     this.PriMaxAmount = PriMaxAmount;
383                 
384                     this.PriMaxRange = PriMaxRange;
385                 
386                     this.PriDamageType = PriDamageType;
387                 
388                     this.PriArmorStops = PriArmorStops;
389                 
390                     this.PriAlwaysGibs = PriAlwaysGibs;
391                 
392                     this.PriSpecial = PriSpecial;
393                 
394                     this.PriDetonatesGoop = PriDetonatesGoop;
395                 
396                     this.PriSuperWeapon = PriSuperWeapon;
397                 
398                     this.PriExtraMomZ = PriExtraMomZ;
399                 
400                     this.PriProjType = PriProjType;
401                 
402                     this.PriDamage = PriDamage;
403                 
404                     this.PriDamageMax = PriDamageMax;
405                 
406                     this.PriDamageMin = PriDamageMin;
407                 
408                     this.PriSpeed = PriSpeed;
409                 
410                     this.PriMaxSpeed = PriMaxSpeed;
411                 
412                     this.PriLifeSpan = PriLifeSpan;
413                 
414                     this.PriDamageRadius = PriDamageRadius;
415                 
416                     this.PriTossZ = PriTossZ;
417                 
418                     this.PriMaxEffectDistance = PriMaxEffectDistance;
419                 
420                     this.SecFireModeType = SecFireModeType;
421                 
422                     this.SecSplashDamage = SecSplashDamage;
423                 
424                     this.SecSplashJump = SecSplashJump;
425                 
426                     this.SecRecomSplashDamage = SecRecomSplashDamage;
427                 
428                     this.SecTossed = SecTossed;
429                 
430                     this.SecLeadTarget = SecLeadTarget;
431                 
432                     this.SecInstantHit = SecInstantHit;
433                 
434                     this.SecFireOnRelease = SecFireOnRelease;
435                 
436                     this.SecWaitForRelease = SecWaitForRelease;
437                 
438                     this.SecModeExclusive = SecModeExclusive;
439                 
440                     this.SecFireRate = SecFireRate;
441                 
442                     this.SecBotRefireRate = SecBotRefireRate;
443                 
444                     this.SecAmmoPerFire = SecAmmoPerFire;
445                 
446                     this.SecAmmoClipSize = SecAmmoClipSize;
447                 
448                     this.SecAimError = SecAimError;
449                 
450                     this.SecSpread = SecSpread;
451                 
452                     this.SecSpreadStyle = SecSpreadStyle;
453                 
454                     this.SecFireCount = SecFireCount;
455                 
456                     this.SecDamageAtten = SecDamageAtten;
457                 
458                     this.SecAmmoType = SecAmmoType;
459                 
460                     this.SecInitialAmount = SecInitialAmount;
461                 
462                     this.SecMaxAmount = SecMaxAmount;
463                 
464                     this.SecMaxRange = SecMaxRange;
465                 
466                     this.SecDamageType = SecDamageType;
467                 
468                     this.SecArmorStops = SecArmorStops;
469                 
470                     this.SecAlwaysGibs = SecAlwaysGibs;
471                 
472                     this.SecSpecial = SecSpecial;
473                 
474                     this.SecDetonatesGoop = SecDetonatesGoop;
475                 
476                     this.SecSuperWeapon = SecSuperWeapon;
477                 
478                     this.SecExtraMomZ = SecExtraMomZ;
479                 
480                     this.SecProjType = SecProjType;
481                 
482                     this.SecDamage = SecDamage;
483                 
484                     this.SecDamageMax = SecDamageMax;
485                 
486                     this.SecDamageMin = SecDamageMin;
487                 
488                     this.SecSpeed = SecSpeed;
489                 
490                     this.SecMaxSpeed = SecMaxSpeed;
491                 
492                     this.SecLifeSpan = SecLifeSpan;
493                 
494                     this.SecDamageRadius = SecDamageRadius;
495                 
496                     this.SecTossZ = SecTossZ;
497                 
498                     this.SecMaxEffectDistance = SecMaxEffectDistance;
499                 
500                     this.Amount = Amount;
501                 
502                     this.SuperHeal = SuperHeal;
503                 
504                 }
505 
506             
507     	/** Example how the message looks like - used during parser tests. */
508     	public static final String PROTOTYPE =
509     		"ITC {InventoryType text} {PickupType xWeapons.FlakCannonPickup} {ItemCategory null} {Melee False} {Sniping False} {UsesAltAmmo False} {PriFireModeType text} {PriSplashDamage False} {PriSplashJump False} {PriRecomSplashDamage False} {PriTossed False} {PriLeadTarget False} {PriInstantHit False} {PriFireOnRelease False} {PriWaitForRelease False} {PriModeExclusive False} {PriFireRate 0} {PriBotRefireRate 0} {PriAmmoPerFire 0} {PriAmmoClipSize 0} {PriAimError 0} {PriSpread 0} {PriSpreadStyle 0} {PriFireCount 0} {PriDamageAtten 0} {PriAmmoType text} {PriInitialAmount 0} {PriMaxAmount 0} {PriMaxRange 0} {PriDamageType text} {PriArmorStops False} {PriAlwaysGibs False} {PriSpecial False} {PriDetonatesGoop False} {PriSuperWeapon False} {PriExtraMomZ False} {PriProjType text} {PriDamage 0} {PriDamageMax 0} {PriDamageMin 0} {PriSpeed 0} {PriMaxSpeed 0} {PriLifeSpan 0} {PriDamageRadius 0} {PriTossZ 0} {PriMaxEffectDistance 0} {SecFireModeType text} {SecSplashDamage False} {SecSplashJump False} {SecRecomSplashDamage False} {SecTossed False} {SecLeadTarget False} {SecInstantHit False} {SecFireOnRelease False} {SecWaitForRelease False} {SecModeExclusive False} {SecFireRate 0} {SecBotRefireRate 0} {SecAmmoPerFire 0} {SecAmmoClipSize 0} {SecAimError 0} {SecSpread 0} {SecSpreadStyle 0} {SecFireCount 0} {SecDamageAtten 0} {SecAmmoType text} {SecInitialAmount 0} {SecMaxAmount 0} {SecMaxRange 0} {SecDamageType text} {SecArmorStops False} {SecAlwaysGibs False} {SecSpecial False} {SecDetonatesGoop False} {SecSuperWeapon False} {SecExtraMomZ False} {SecProjType text} {SecDamage 0} {SecDamageMax 0} {SecDamageMin 0} {SecSpeed 0} {SecMaxSpeed 0} {SecLifeSpan 0} {SecDamageRadius 0} {SecTossZ 0} {SecMaxEffectDistance 0} {Amount 0} {SuperHeal False}";
510     
511 
512             /////// Properties BEGIN
513             
514         /**
515         
516 			By this class the item is represented in inventory. This is inventory type class.
517 		 */
518         protected
519          String InventoryType =
520         	null;
521 
522         
523         /**
524         
525 			By this class the item is represented in inventory. This is inventory type class.
526 		 */
527         public
528         String getInventoryType() {
529             return
530          InventoryType;
531         }
532         
533 
534         
535         /**
536         
537 			By this class the item is represented in the map. This is pickup type class.
538 		 */
539         protected
540          ItemType PickupType =
541         	null;
542 
543         
544         /**
545         
546 			By this class the item is represented in the map. This is pickup type class.
547 		 */
548         public
549         ItemType getPickupType() {
550             return
551          PickupType;
552         }
553         
554 
555         
556         /**
557         
558 			Category of the item. Can be "Weapon", "Ammo", "Armor", "Shield", "Health" or "Other".
559 		 */
560         protected
561          Category ItemCategory =
562         	null;
563 
564         
565         /**
566         
567 			Category of the item. Can be "Weapon", "Ammo", "Armor", "Shield", "Health" or "Other".
568 		 */
569         public
570         Category getItemCategory() {
571             return
572          ItemCategory;
573         }
574         
575 
576         
577         /**
578         
579 		For Weapon. True if the weapon is melee weapon (close range).
580 		 */
581         protected
582          boolean Melee =
583         	false;
584 
585         
586         /**
587         
588 		For Weapon. True if the weapon is melee weapon (close range).
589 		 */
590         public
591         boolean isMelee() {
592             return
593          Melee;
594         }
595         
596 
597         
598         /**
599         
600 		For Weapon. True if the weapon is sniping weapon (long range).
601 		 */
602         protected
603          boolean Sniping =
604         	false;
605 
606         
607         /**
608         
609 		For Weapon. True if the weapon is sniping weapon (long range).
610 		 */
611         public
612         boolean isSniping() {
613             return
614          Sniping;
615         }
616         
617 
618         
619         /**
620         
621 		For Weapon. True if the weapon uses two separate ammos for primary and secondary firing mode.
622 		 */
623         protected
624          boolean UsesAltAmmo =
625         	false;
626 
627         
628         /**
629         
630 		For Weapon. True if the weapon uses two separate ammos for primary and secondary firing mode.
631 		 */
632         public
633         boolean isUsesAltAmmo() {
634             return
635          UsesAltAmmo;
636         }
637         
638 
639         
640         /**
641         
642 			For Weapon, primary firing mode. Type of the firing mode. If none, the weapon does not have this fireing mode.
643 		 */
644         protected
645          String PriFireModeType =
646         	null;
647 
648         
649         /**
650         
651 			For Weapon, primary firing mode. Type of the firing mode. If none, the weapon does not have this fireing mode.
652 		 */
653         public
654         String getPriFireModeType() {
655             return
656          PriFireModeType;
657         }
658         
659 
660         
661         /**
662         
663 			For Weapon, primary firing mode. If this mode does splash damage.
664 		 */
665         protected
666          boolean PriSplashDamage =
667         	false;
668 
669         
670         /**
671         
672 			For Weapon, primary firing mode. If this mode does splash damage.
673 		 */
674         public
675         boolean isPriSplashDamage() {
676             return
677          PriSplashDamage;
678         }
679         
680 
681         
682         /**
683         
684 			For Weapon, primary firing mode. If the splash damage of this firing mode can be used for increasing jump height.
685 		 */
686         protected
687          boolean PriSplashJump =
688         	false;
689 
690         
691         /**
692         
693 			For Weapon, primary firing mode. If the splash damage of this firing mode can be used for increasing jump height.
694 		 */
695         public
696         boolean isPriSplashJump() {
697             return
698          PriSplashJump;
699         }
700         
701 
702         
703         /**
704         
705 			For Weapon, primary firing mode. If the engine recommends to use this splash damage. TODO
706 		 */
707         protected
708          boolean PriRecomSplashDamage =
709         	false;
710 
711         
712         /**
713         
714 			For Weapon, primary firing mode. If the engine recommends to use this splash damage. TODO
715 		 */
716         public
717         boolean isPriRecomSplashDamage() {
718             return
719          PriRecomSplashDamage;
720         }
721         
722 
723         
724         /**
725         
726 			For Weapon, primary firing mode. If the this mode is tossing something (projectile) out.
727 		 */
728         protected
729          boolean PriTossed =
730         	false;
731 
732         
733         /**
734         
735 			For Weapon, primary firing mode. If the this mode is tossing something (projectile) out.
736 		 */
737         public
738         boolean isPriTossed() {
739             return
740          PriTossed;
741         }
742         
743 
744         
745         /**
746         
747 			For Weapon, primary firing mode. If this mode can lead the target. TODO
748 		 */
749         protected
750          boolean PriLeadTarget =
751         	false;
752 
753         
754         /**
755         
756 			For Weapon, primary firing mode. If this mode can lead the target. TODO
757 		 */
758         public
759         boolean isPriLeadTarget() {
760             return
761          PriLeadTarget;
762         }
763         
764 
765         
766         /**
767         
768 			For Weapon, primary firing mode. If this mode does instant hits - weapon hits instantly - no flying time for bullets.
769 		 */
770         protected
771          boolean PriInstantHit =
772         	false;
773 
774         
775         /**
776         
777 			For Weapon, primary firing mode. If this mode does instant hits - weapon hits instantly - no flying time for bullets.
778 		 */
779         public
780         boolean isPriInstantHit() {
781             return
782          PriInstantHit;
783         }
784         
785 
786         
787         /**
788         
789 			For Weapon, primary firing mode. If to fire this mode you need to press shooting button (start shooting) and then release it (stop shooting). Usually for charging weapons.
790 		 */
791         protected
792          boolean PriFireOnRelease =
793         	false;
794 
795         
796         /**
797         
798 			For Weapon, primary firing mode. If to fire this mode you need to press shooting button (start shooting) and then release it (stop shooting). Usually for charging weapons.
799 		 */
800         public
801         boolean isPriFireOnRelease() {
802             return
803          PriFireOnRelease;
804         }
805         
806 
807         
808         /**
809         
810 			For Weapon, primary firing mode. If to fire this mode you need to stop pressing shooting button between two shots to shoot. You will fire once when pressing the button, then you need to press it again to fire again.
811 		 */
812         protected
813          boolean PriWaitForRelease =
814         	false;
815 
816         
817         /**
818         
819 			For Weapon, primary firing mode. If to fire this mode you need to stop pressing shooting button between two shots to shoot. You will fire once when pressing the button, then you need to press it again to fire again.
820 		 */
821         public
822         boolean isPriWaitForRelease() {
823             return
824          PriWaitForRelease;
825         }
826         
827 
828         
829         /**
830         
831 			For Weapon, primary firing mode. If this firing mode cannot be used at the same time with other firing mode of the weapon.
832 		 */
833         protected
834          boolean PriModeExclusive =
835         	false;
836 
837         
838         /**
839         
840 			For Weapon, primary firing mode. If this firing mode cannot be used at the same time with other firing mode of the weapon.
841 		 */
842         public
843         boolean isPriModeExclusive() {
844             return
845          PriModeExclusive;
846         }
847         
848 
849         
850         /**
851         
852 			For Weapon, primary firing mode. Fire rate in seconds. How fast the weapon fires if we are firing continuosly.
853 		 */
854         protected
855          double PriFireRate =
856         	0;
857 
858         
859         /**
860         
861 			For Weapon, primary firing mode. Fire rate in seconds. How fast the weapon fires if we are firing continuosly.
862 		 */
863         public
864         double getPriFireRate() {
865             return
866          PriFireRate;
867         }
868         
869 
870         
871         /**
872         
873 			For Weapon, primary firing mode. Refire rate for bots in seconds. When we stop firing how long does it take to resume firing again.
874 		 */
875         protected
876          double PriBotRefireRate =
877         	0;
878 
879         
880         /**
881         
882 			For Weapon, primary firing mode. Refire rate for bots in seconds. When we stop firing how long does it take to resume firing again.
883 		 */
884         public
885         double getPriBotRefireRate() {
886             return
887          PriBotRefireRate;
888         }
889         
890 
891         
892         /**
893         
894 			For Weapon, primary firing mode. Needed amount of ammo to fire this weapon mode once.
895 		 */
896         protected
897          int PriAmmoPerFire =
898         	0;
899 
900         
901         /**
902         
903 			For Weapon, primary firing mode. Needed amount of ammo to fire this weapon mode once.
904 		 */
905         public
906         int getPriAmmoPerFire() {
907             return
908          PriAmmoPerFire;
909         }
910         
911 
912         
913         /**
914         
915 			For Weapon, primary firing mode. If the weapon mode has clips, their size. TODO
916 		 */
917         protected
918          int PriAmmoClipSize =
919         	0;
920 
921         
922         /**
923         
924 			For Weapon, primary firing mode. If the weapon mode has clips, their size. TODO
925 		 */
926         public
927         int getPriAmmoClipSize() {
928             return
929          PriAmmoClipSize;
930         }
931         
932 
933         
934         /**
935         
936 			For Weapon, primary firing mode. Aiming error of the weapon. 0 none, 1000 quite a bit.
937 		 */
938         protected
939          double PriAimError =
940         	0;
941 
942         
943         /**
944         
945 			For Weapon, primary firing mode. Aiming error of the weapon. 0 none, 1000 quite a bit.
946 		 */
947         public
948         double getPriAimError() {
949             return
950          PriAimError;
951         }
952         
953 
954         
955         /**
956         
957 			For Weapon, primary firing mode. Double, rotator units. No relation to aim error.
958 		 */
959         protected
960          double PriSpread =
961         	0;
962 
963         
964         /**
965         
966 			For Weapon, primary firing mode. Double, rotator units. No relation to aim error.
967 		 */
968         public
969         double getPriSpread() {
970             return
971          PriSpread;
972         }
973         
974 
975         
976         /**
977         
978 			For Weapon, primary firing mode. Type of spreading. TODO
979 		 */
980         protected
981          int PriSpreadStyle =
982         	0;
983 
984         
985         /**
986         
987 			For Weapon, primary firing mode. Type of spreading. TODO
988 		 */
989         public
990         int getPriSpreadStyle() {
991             return
992          PriSpreadStyle;
993         }
994         
995 
996         
997         /**
998         
999 			For Weapon, primary firing mode. TODO
1000 		 */
1001         protected
1002          int PriFireCount =
1003         	0;
1004 
1005         
1006         /**
1007         
1008 			For Weapon, primary firing mode. TODO
1009 		 */
1010         public
1011         int getPriFireCount() {
1012             return
1013          PriFireCount;
1014         }
1015         
1016 
1017         
1018         /**
1019         
1020 			For Weapon, primary firing mode. Attenuate instant-hit/projectile damage by this multiplier.
1021 		 */
1022         protected
1023          double PriDamageAtten =
1024         	0;
1025 
1026         
1027         /**
1028         
1029 			For Weapon, primary firing mode. Attenuate instant-hit/projectile damage by this multiplier.
1030 		 */
1031         public
1032         double getPriDamageAtten() {
1033             return
1034          PriDamageAtten;
1035         }
1036         
1037 
1038         
1039         /**
1040         
1041 			For Ammo or for Weapon, primary firing mode. Class of the ammo.
1042 		 */
1043         protected
1044          String PriAmmoType =
1045         	null;
1046 
1047         
1048         /**
1049         
1050 			For Ammo or for Weapon, primary firing mode. Class of the ammo.
1051 		 */
1052         public
1053         String getPriAmmoType() {
1054             return
1055          PriAmmoType;
1056         }
1057         
1058 
1059         
1060         /**
1061         
1062 			For Ammo or for Weapon, primary firing mode. Amount of ammo we get if we pick up the item (weapon or ammo) for the first time.
1063 		 */
1064         protected
1065          int PriInitialAmount =
1066         	0;
1067 
1068         
1069         /**
1070         
1071 			For Ammo or for Weapon, primary firing mode. Amount of ammo we get if we pick up the item (weapon or ammo) for the first time.
1072 		 */
1073         public
1074         int getPriInitialAmount() {
1075             return
1076          PriInitialAmount;
1077         }
1078         
1079 
1080         
1081         /**
1082         
1083 			For Ammo or for Weapon, primary firing mode. Max amount of ammo of this type we can have in our inventory.
1084 		 */
1085         protected
1086          int PriMaxAmount =
1087         	0;
1088 
1089         
1090         /**
1091         
1092 			For Ammo or for Weapon, primary firing mode. Max amount of ammo of this type we can have in our inventory.
1093 		 */
1094         public
1095         int getPriMaxAmount() {
1096             return
1097          PriMaxAmount;
1098         }
1099         
1100 
1101         
1102         /**
1103         
1104 			For Ammo or for Weapon, primary firing mode. TODO
1105 		 */
1106         protected
1107          double PriMaxRange =
1108         	0;
1109 
1110         
1111         /**
1112         
1113 			For Ammo or for Weapon, primary firing mode. TODO
1114 		 */
1115         public
1116         double getPriMaxRange() {
1117             return
1118          PriMaxRange;
1119         }
1120         
1121 
1122         
1123         /**
1124         
1125 			For Ammo or for Weapon, primary firing mode. Type of the damage. Maybe the same string for all damage.
1126 		 */
1127         protected
1128          String PriDamageType =
1129         	null;
1130 
1131         
1132         /**
1133         
1134 			For Ammo or for Weapon, primary firing mode. Type of the damage. Maybe the same string for all damage.
1135 		 */
1136         public
1137         String getPriDamageType() {
1138             return
1139          PriDamageType;
1140         }
1141         
1142 
1143         
1144         /**
1145         
1146 			For Ammo or for Weapon, primary firing mode. If the armor is effective against this damage type.
1147 		 */
1148         protected
1149          boolean PriArmorStops =
1150         	false;
1151 
1152         
1153         /**
1154         
1155 			For Ammo or for Weapon, primary firing mode. If the armor is effective against this damage type.
1156 		 */
1157         public
1158         boolean isPriArmorStops() {
1159             return
1160          PriArmorStops;
1161         }
1162         
1163 
1164         
1165         /**
1166         
1167 			For Ammo or for Weapon, primary firing mode. If this damage kills instantly.
1168 		 */
1169         protected
1170          boolean PriAlwaysGibs =
1171         	false;
1172 
1173         
1174         /**
1175         
1176 			For Ammo or for Weapon, primary firing mode. If this damage kills instantly.
1177 		 */
1178         public
1179         boolean isPriAlwaysGibs() {
1180             return
1181          PriAlwaysGibs;
1182         }
1183         
1184 
1185         
1186         /**
1187         
1188 			For Ammo or for Weapon, primary firing mode. If this damage is special. TODO
1189 		 */
1190         protected
1191          boolean PriSpecial =
1192         	false;
1193 
1194         
1195         /**
1196         
1197 			For Ammo or for Weapon, primary firing mode. If this damage is special. TODO
1198 		 */
1199         public
1200         boolean isPriSpecial() {
1201             return
1202          PriSpecial;
1203         }
1204         
1205 
1206         
1207         /**
1208         
1209 			For Ammo or for Weapon, primary firing mode. If this damage detonates goops. TODO
1210 		 */
1211         protected
1212          boolean PriDetonatesGoop =
1213         	false;
1214 
1215         
1216         /**
1217         
1218 			For Ammo or for Weapon, primary firing mode. If this damage detonates goops. TODO
1219 		 */
1220         public
1221         boolean isPriDetonatesGoop() {
1222             return
1223          PriDetonatesGoop;
1224         }
1225         
1226 
1227         
1228         /**
1229         
1230 			For Ammo or for Weapon, primary firing mode. If this damage is super weapon damage. Kills everyone even teammates.
1231 		 */
1232         protected
1233          boolean PriSuperWeapon =
1234         	false;
1235 
1236         
1237         /**
1238         
1239 			For Ammo or for Weapon, primary firing mode. If this damage is super weapon damage. Kills everyone even teammates.
1240 		 */
1241         public
1242         boolean isPriSuperWeapon() {
1243             return
1244          PriSuperWeapon;
1245         }
1246         
1247 
1248         
1249         /**
1250         
1251 			For Ammo or for Weapon, primary firing mode. If this damage adds something to Panws momentum. TODO
1252 		 */
1253         protected
1254          boolean PriExtraMomZ =
1255         	false;
1256 
1257         
1258         /**
1259         
1260 			For Ammo or for Weapon, primary firing mode. If this damage adds something to Panws momentum. TODO
1261 		 */
1262         public
1263         boolean isPriExtraMomZ() {
1264             return
1265          PriExtraMomZ;
1266         }
1267         
1268 
1269         
1270         /**
1271         
1272 			For Ammo or for Weapon, primary firing mode. Class of the projectile this ammo, weapon spawns. 
1273 		 */
1274         protected
1275          String PriProjType =
1276         	null;
1277 
1278         
1279         /**
1280         
1281 			For Ammo or for Weapon, primary firing mode. Class of the projectile this ammo, weapon spawns. 
1282 		 */
1283         public
1284         String getPriProjType() {
1285             return
1286          PriProjType;
1287         }
1288         
1289 
1290         
1291         /**
1292         
1293 			For Ammo or for Weapon, primary firing mode. How much damage this projectile does.
1294 		 */
1295         protected
1296          double PriDamage =
1297         	0;
1298 
1299         
1300         /**
1301         
1302 			For Ammo or for Weapon, primary firing mode. How much damage this projectile does.
1303 		 */
1304         public
1305         double getPriDamage() {
1306             return
1307          PriDamage;
1308         }
1309         
1310 
1311         
1312         /**
1313         
1314 			For Ammo or for Weapon, primary firing mode. How much maximum damage this projectile does.
1315 		 */
1316         protected
1317          double PriDamageMax =
1318         	0;
1319 
1320         
1321         /**
1322         
1323 			For Ammo or for Weapon, primary firing mode. How much maximum damage this projectile does.
1324 		 */
1325         public
1326         double getPriDamageMax() {
1327             return
1328          PriDamageMax;
1329         }
1330         
1331 
1332         
1333         /**
1334         
1335 			For Ammo or for Weapon, primary firing mode. How much minimum damage this projectile does.
1336 		 */
1337         protected
1338          double PriDamageMin =
1339         	0;
1340 
1341         
1342         /**
1343         
1344 			For Ammo or for Weapon, primary firing mode. How much minimum damage this projectile does.
1345 		 */
1346         public
1347         double getPriDamageMin() {
1348             return
1349          PriDamageMin;
1350         }
1351         
1352 
1353         
1354         /**
1355         
1356 			For Ammo or for Weapon, primary firing mode. Default projectile speed.
1357 		 */
1358         protected
1359          double PriSpeed =
1360         	0;
1361 
1362         
1363         /**
1364         
1365 			For Ammo or for Weapon, primary firing mode. Default projectile speed.
1366 		 */
1367         public
1368         double getPriSpeed() {
1369             return
1370          PriSpeed;
1371         }
1372         
1373 
1374         
1375         /**
1376         
1377 			For Ammo or for Weapon, primary firing mode. Maximum projectile speed.
1378 		 */
1379         protected
1380          double PriMaxSpeed =
1381         	0;
1382 
1383         
1384         /**
1385         
1386 			For Ammo or for Weapon, primary firing mode. Maximum projectile speed.
1387 		 */
1388         public
1389         double getPriMaxSpeed() {
1390             return
1391          PriMaxSpeed;
1392         }
1393         
1394 
1395         
1396         /**
1397         
1398 			For Ammo or for Weapon, primary firing mode. Maximum amount of time in seconds this projectile can survive in the environment.
1399 		 */
1400         protected
1401          double PriLifeSpan =
1402         	0;
1403 
1404         
1405         /**
1406         
1407 			For Ammo or for Weapon, primary firing mode. Maximum amount of time in seconds this projectile can survive in the environment.
1408 		 */
1409         public
1410         double getPriLifeSpan() {
1411             return
1412          PriLifeSpan;
1413         }
1414         
1415 
1416         
1417         /**
1418         
1419 			For Ammo or for Weapon, primary firing mode. If the projectile does splash damage, here is radius in ut units of the splash.
1420 		 */
1421         protected
1422          double PriDamageRadius =
1423         	0;
1424 
1425         
1426         /**
1427         
1428 			For Ammo or for Weapon, primary firing mode. If the projectile does splash damage, here is radius in ut units of the splash.
1429 		 */
1430         public
1431         double getPriDamageRadius() {
1432             return
1433          PriDamageRadius;
1434         }
1435         
1436 
1437         
1438         /**
1439         
1440 			For Ammo or for Weapon, primary firing mode. If the projectile is tossed, here is velocity in Z direction of the toss. TODO
1441 		 */
1442         protected
1443          double PriTossZ =
1444         	0;
1445 
1446         
1447         /**
1448         
1449 			For Ammo or for Weapon, primary firing mode. If the projectile is tossed, here is velocity in Z direction of the toss. TODO
1450 		 */
1451         public
1452         double getPriTossZ() {
1453             return
1454          PriTossZ;
1455         }
1456         
1457 
1458         
1459         /**
1460         
1461 			For Ammo or for Weapon, primary firing mode. Maximum effective distance. TODO
1462 		 */
1463         protected
1464          double PriMaxEffectDistance =
1465         	0;
1466 
1467         
1468         /**
1469         
1470 			For Ammo or for Weapon, primary firing mode. Maximum effective distance. TODO
1471 		 */
1472         public
1473         double getPriMaxEffectDistance() {
1474             return
1475          PriMaxEffectDistance;
1476         }
1477         
1478 
1479         
1480         /**
1481         
1482 			For Weapon, secondary firing mode. Type of the firing mode. If none, the weapon does not have this fireing mode.
1483 		 */
1484         protected
1485          String SecFireModeType =
1486         	null;
1487 
1488         
1489         /**
1490         
1491 			For Weapon, secondary firing mode. Type of the firing mode. If none, the weapon does not have this fireing mode.
1492 		 */
1493         public
1494         String getSecFireModeType() {
1495             return
1496          SecFireModeType;
1497         }
1498         
1499 
1500         
1501         /**
1502         
1503 			For Weapon, secondary firing mode. If this mode does splash damage.
1504 		 */
1505         protected
1506          boolean SecSplashDamage =
1507         	false;
1508 
1509         
1510         /**
1511         
1512 			For Weapon, secondary firing mode. If this mode does splash damage.
1513 		 */
1514         public
1515         boolean isSecSplashDamage() {
1516             return
1517          SecSplashDamage;
1518         }
1519         
1520 
1521         
1522         /**
1523         
1524 			For Weapon, secondary firing mode. If the splash damage of this firing mode can be used for increasing jump height.
1525 		 */
1526         protected
1527          boolean SecSplashJump =
1528         	false;
1529 
1530         
1531         /**
1532         
1533 			For Weapon, secondary firing mode. If the splash damage of this firing mode can be used for increasing jump height.
1534 		 */
1535         public
1536         boolean isSecSplashJump() {
1537             return
1538          SecSplashJump;
1539         }
1540         
1541 
1542         
1543         /**
1544         
1545 			For Weapon, secondary firing mode. If the engine recommends to use this splash damage. TODO
1546 		 */
1547         protected
1548          boolean SecRecomSplashDamage =
1549         	false;
1550 
1551         
1552         /**
1553         
1554 			For Weapon, secondary firing mode. If the engine recommends to use this splash damage. TODO
1555 		 */
1556         public
1557         boolean isSecRecomSplashDamage() {
1558             return
1559          SecRecomSplashDamage;
1560         }
1561         
1562 
1563         
1564         /**
1565         
1566 			For Weapon, secondary firing mode. If the this mode is tossing something (projectile) out.
1567 		 */
1568         protected
1569          boolean SecTossed =
1570         	false;
1571 
1572         
1573         /**
1574         
1575 			For Weapon, secondary firing mode. If the this mode is tossing something (projectile) out.
1576 		 */
1577         public
1578         boolean isSecTossed() {
1579             return
1580          SecTossed;
1581         }
1582         
1583 
1584         
1585         /**
1586         
1587 			For Weapon, secondary firing mode. If this mode can lead the target. TODO
1588 		 */
1589         protected
1590          boolean SecLeadTarget =
1591         	false;
1592 
1593         
1594         /**
1595         
1596 			For Weapon, secondary firing mode. If this mode can lead the target. TODO
1597 		 */
1598         public
1599         boolean isSecLeadTarget() {
1600             return
1601          SecLeadTarget;
1602         }
1603         
1604 
1605         
1606         /**
1607         
1608 			For Weapon, secondary firing mode. If this mode does instant hits - weapon hits instantly - no flying time for bullets.
1609 		 */
1610         protected
1611          boolean SecInstantHit =
1612         	false;
1613 
1614         
1615         /**
1616         
1617 			For Weapon, secondary firing mode. If this mode does instant hits - weapon hits instantly - no flying time for bullets.
1618 		 */
1619         public
1620         boolean isSecInstantHit() {
1621             return
1622          SecInstantHit;
1623         }
1624         
1625 
1626         
1627         /**
1628         
1629 			For Weapon, secondary firing mode. If to fire this mode you need to press shooting button (start shooting) and then release it (stop shooting). Usually for charging weapons.
1630 		 */
1631         protected
1632          boolean SecFireOnRelease =
1633         	false;
1634 
1635         
1636         /**
1637         
1638 			For Weapon, secondary firing mode. If to fire this mode you need to press shooting button (start shooting) and then release it (stop shooting). Usually for charging weapons.
1639 		 */
1640         public
1641         boolean isSecFireOnRelease() {
1642             return
1643          SecFireOnRelease;
1644         }
1645         
1646 
1647         
1648         /**
1649         
1650 			For Weapon, secondary firing mode. If to fire this mode you need to stop pressing shooting button between two shots to shoot. You will fire once when pressing the button, then you need to press it again to fire again.
1651 		 */
1652         protected
1653          boolean SecWaitForRelease =
1654         	false;
1655 
1656         
1657         /**
1658         
1659 			For Weapon, secondary firing mode. If to fire this mode you need to stop pressing shooting button between two shots to shoot. You will fire once when pressing the button, then you need to press it again to fire again.
1660 		 */
1661         public
1662         boolean isSecWaitForRelease() {
1663             return
1664          SecWaitForRelease;
1665         }
1666         
1667 
1668         
1669         /**
1670         
1671 			For Weapon, secondary firing mode. If this firing mode cannot be used at the same time with other firing mode of the weapon.
1672 		 */
1673         protected
1674          boolean SecModeExclusive =
1675         	false;
1676 
1677         
1678         /**
1679         
1680 			For Weapon, secondary firing mode. If this firing mode cannot be used at the same time with other firing mode of the weapon.
1681 		 */
1682         public
1683         boolean isSecModeExclusive() {
1684             return
1685          SecModeExclusive;
1686         }
1687         
1688 
1689         
1690         /**
1691         
1692 			For Weapon, secondary firing mode. Fire rate in seconds.
1693 		 */
1694         protected
1695          double SecFireRate =
1696         	0;
1697 
1698         
1699         /**
1700         
1701 			For Weapon, secondary firing mode. Fire rate in seconds.
1702 		 */
1703         public
1704         double getSecFireRate() {
1705             return
1706          SecFireRate;
1707         }
1708         
1709 
1710         
1711         /**
1712         
1713 			For Weapon, secondary firing mode. Refire rate for bots in seconds. TODO
1714 		 */
1715         protected
1716          double SecBotRefireRate =
1717         	0;
1718 
1719         
1720         /**
1721         
1722 			For Weapon, secondary firing mode. Refire rate for bots in seconds. TODO
1723 		 */
1724         public
1725         double getSecBotRefireRate() {
1726             return
1727          SecBotRefireRate;
1728         }
1729         
1730 
1731         
1732         /**
1733         
1734 			For Weapon, secondary firing mode. Needed amount of ammo to fire this weapon mode once.
1735 		 */
1736         protected
1737          int SecAmmoPerFire =
1738         	0;
1739 
1740         
1741         /**
1742         
1743 			For Weapon, secondary firing mode. Needed amount of ammo to fire this weapon mode once.
1744 		 */
1745         public
1746         int getSecAmmoPerFire() {
1747             return
1748          SecAmmoPerFire;
1749         }
1750         
1751 
1752         
1753         /**
1754         
1755 			For Weapon, secondary firing mode. If the weapon mode has clips, their size. TODO
1756 		 */
1757         protected
1758          int SecAmmoClipSize =
1759         	0;
1760 
1761         
1762         /**
1763         
1764 			For Weapon, secondary firing mode. If the weapon mode has clips, their size. TODO
1765 		 */
1766         public
1767         int getSecAmmoClipSize() {
1768             return
1769          SecAmmoClipSize;
1770         }
1771         
1772 
1773         
1774         /**
1775         
1776 			For Weapon, secondary firing mode. Aiming error of the weapon. 0 none, 1000 quite a bit.
1777 		 */
1778         protected
1779          double SecAimError =
1780         	0;
1781 
1782         
1783         /**
1784         
1785 			For Weapon, secondary firing mode. Aiming error of the weapon. 0 none, 1000 quite a bit.
1786 		 */
1787         public
1788         double getSecAimError() {
1789             return
1790          SecAimError;
1791         }
1792         
1793 
1794         
1795         /**
1796         
1797 			For Weapon, secondary firing mode. Double, rotator units. No relation to aim error.
1798 		 */
1799         protected
1800          double SecSpread =
1801         	0;
1802 
1803         
1804         /**
1805         
1806 			For Weapon, secondary firing mode. Double, rotator units. No relation to aim error.
1807 		 */
1808         public
1809         double getSecSpread() {
1810             return
1811          SecSpread;
1812         }
1813         
1814 
1815         
1816         /**
1817         
1818 			For Weapon, secondary firing mode. Type of spreading. TODO
1819 		 */
1820         protected
1821          int SecSpreadStyle =
1822         	0;
1823 
1824         
1825         /**
1826         
1827 			For Weapon, secondary firing mode. Type of spreading. TODO
1828 		 */
1829         public
1830         int getSecSpreadStyle() {
1831             return
1832          SecSpreadStyle;
1833         }
1834         
1835 
1836         
1837         /**
1838         
1839 			For Weapon, secondary firing mode. TODO
1840 		 */
1841         protected
1842          int SecFireCount =
1843         	0;
1844 
1845         
1846         /**
1847         
1848 			For Weapon, secondary firing mode. TODO
1849 		 */
1850         public
1851         int getSecFireCount() {
1852             return
1853          SecFireCount;
1854         }
1855         
1856 
1857         
1858         /**
1859         
1860 			For Weapon, secondary firing mode. Attenuate instant-hit/projectile damage by this multiplier.
1861 		 */
1862         protected
1863          double SecDamageAtten =
1864         	0;
1865 
1866         
1867         /**
1868         
1869 			For Weapon, secondary firing mode. Attenuate instant-hit/projectile damage by this multiplier.
1870 		 */
1871         public
1872         double getSecDamageAtten() {
1873             return
1874          SecDamageAtten;
1875         }
1876         
1877 
1878         
1879         /**
1880         
1881 			For Ammo or for Weapon, secondary firing mode. Class of the ammo.
1882 		 */
1883         protected
1884          String SecAmmoType =
1885         	null;
1886 
1887         
1888         /**
1889         
1890 			For Ammo or for Weapon, secondary firing mode. Class of the ammo.
1891 		 */
1892         public
1893         String getSecAmmoType() {
1894             return
1895          SecAmmoType;
1896         }
1897         
1898 
1899         
1900         /**
1901         
1902 			For Ammo or for Weapon, secondary firing mode. Amount of ammo we get if we pick up the item (weapon or ammo) for the first time.
1903 		 */
1904         protected
1905          int SecInitialAmount =
1906         	0;
1907 
1908         
1909         /**
1910         
1911 			For Ammo or for Weapon, secondary firing mode. Amount of ammo we get if we pick up the item (weapon or ammo) for the first time.
1912 		 */
1913         public
1914         int getSecInitialAmount() {
1915             return
1916          SecInitialAmount;
1917         }
1918         
1919 
1920         
1921         /**
1922         
1923 			For Ammo or for Weapon, secondary firing mode. Max amount of ammo of this type we can have in our inventory.
1924 		 */
1925         protected
1926          int SecMaxAmount =
1927         	0;
1928 
1929         
1930         /**
1931         
1932 			For Ammo or for Weapon, secondary firing mode. Max amount of ammo of this type we can have in our inventory.
1933 		 */
1934         public
1935         int getSecMaxAmount() {
1936             return
1937          SecMaxAmount;
1938         }
1939         
1940 
1941         
1942         /**
1943         
1944 			For Ammo or for Weapon, secondary firing mode. TODO
1945 		 */
1946         protected
1947          double SecMaxRange =
1948         	0;
1949 
1950         
1951         /**
1952         
1953 			For Ammo or for Weapon, secondary firing mode. TODO
1954 		 */
1955         public
1956         double getSecMaxRange() {
1957             return
1958          SecMaxRange;
1959         }
1960         
1961 
1962         
1963         /**
1964         
1965 			For Ammo or for Weapon, secondary firing mode. Type of the damage. Maybe the same string for all damage.
1966 		 */
1967         protected
1968          String SecDamageType =
1969         	null;
1970 
1971         
1972         /**
1973         
1974 			For Ammo or for Weapon, secondary firing mode. Type of the damage. Maybe the same string for all damage.
1975 		 */
1976         public
1977         String getSecDamageType() {
1978             return
1979          SecDamageType;
1980         }
1981         
1982 
1983         
1984         /**
1985         
1986 			For Ammo or for Weapon, secondary firing mode. If the armor is effective against this damage type.
1987 		 */
1988         protected
1989          boolean SecArmorStops =
1990         	false;
1991 
1992         
1993         /**
1994         
1995 			For Ammo or for Weapon, secondary firing mode. If the armor is effective against this damage type.
1996 		 */
1997         public
1998         boolean isSecArmorStops() {
1999             return
2000          SecArmorStops;
2001         }
2002         
2003 
2004         
2005         /**
2006         
2007 			For Ammo or for Weapon, secondary firing mode. If this damage kills instantly.
2008 		 */
2009         protected
2010          boolean SecAlwaysGibs =
2011         	false;
2012 
2013         
2014         /**
2015         
2016 			For Ammo or for Weapon, secondary firing mode. If this damage kills instantly.
2017 		 */
2018         public
2019         boolean isSecAlwaysGibs() {
2020             return
2021          SecAlwaysGibs;
2022         }
2023         
2024 
2025         
2026         /**
2027         
2028 			For Ammo or for Weapon, secondary firing mode. If this damage is special. TODO
2029 		 */
2030         protected
2031          boolean SecSpecial =
2032         	false;
2033 
2034         
2035         /**
2036         
2037 			For Ammo or for Weapon, secondary firing mode. If this damage is special. TODO
2038 		 */
2039         public
2040         boolean isSecSpecial() {
2041             return
2042          SecSpecial;
2043         }
2044         
2045 
2046         
2047         /**
2048         
2049 			For Ammo or for Weapon, secondary firing mode. If this damage detonates goops. TODO
2050 		 */
2051         protected
2052          boolean SecDetonatesGoop =
2053         	false;
2054 
2055         
2056         /**
2057         
2058 			For Ammo or for Weapon, secondary firing mode. If this damage detonates goops. TODO
2059 		 */
2060         public
2061         boolean isSecDetonatesGoop() {
2062             return
2063          SecDetonatesGoop;
2064         }
2065         
2066 
2067         
2068         /**
2069         
2070 			For Ammo or for Weapon, secondary firing mode. If this damage is super weapon damage. Kills everyone even teammates.
2071 		 */
2072         protected
2073          boolean SecSuperWeapon =
2074         	false;
2075 
2076         
2077         /**
2078         
2079 			For Ammo or for Weapon, secondary firing mode. If this damage is super weapon damage. Kills everyone even teammates.
2080 		 */
2081         public
2082         boolean isSecSuperWeapon() {
2083             return
2084          SecSuperWeapon;
2085         }
2086         
2087 
2088         
2089         /**
2090         
2091 			For Ammo or for Weapon, secondary firing mode. If this damage adds something to Panws momentum. TODO
2092 		 */
2093         protected
2094          boolean SecExtraMomZ =
2095         	false;
2096 
2097         
2098         /**
2099         
2100 			For Ammo or for Weapon, secondary firing mode. If this damage adds something to Panws momentum. TODO
2101 		 */
2102         public
2103         boolean isSecExtraMomZ() {
2104             return
2105          SecExtraMomZ;
2106         }
2107         
2108 
2109         
2110         /**
2111         
2112 			For Ammo or for Weapon, secondary firing mode. Class of the projectile this ammo, weapon spawns. 
2113 		 */
2114         protected
2115          String SecProjType =
2116         	null;
2117 
2118         
2119         /**
2120         
2121 			For Ammo or for Weapon, secondary firing mode. Class of the projectile this ammo, weapon spawns. 
2122 		 */
2123         public
2124         String getSecProjType() {
2125             return
2126          SecProjType;
2127         }
2128         
2129 
2130         
2131         /**
2132         
2133 			For Ammo or for Weapon, secondary firing mode. How much damage this projectile does.
2134 		 */
2135         protected
2136          double SecDamage =
2137         	0;
2138 
2139         
2140         /**
2141         
2142 			For Ammo or for Weapon, secondary firing mode. How much damage this projectile does.
2143 		 */
2144         public
2145         double getSecDamage() {
2146             return
2147          SecDamage;
2148         }
2149         
2150 
2151         
2152         /**
2153         
2154 			For Ammo or for Weapon, secondary firing mode. How much maximum damage this projectile does.
2155 		 */
2156         protected
2157          double SecDamageMax =
2158         	0;
2159 
2160         
2161         /**
2162         
2163 			For Ammo or for Weapon, secondary firing mode. How much maximum damage this projectile does.
2164 		 */
2165         public
2166         double getSecDamageMax() {
2167             return
2168          SecDamageMax;
2169         }
2170         
2171 
2172         
2173         /**
2174         
2175 			For Ammo or for Weapon, secondary firing mode. How much minimum damage this projectile does.
2176 		 */
2177         protected
2178          double SecDamageMin =
2179         	0;
2180 
2181         
2182         /**
2183         
2184 			For Ammo or for Weapon, secondary firing mode. How much minimum damage this projectile does.
2185 		 */
2186         public
2187         double getSecDamageMin() {
2188             return
2189          SecDamageMin;
2190         }
2191         
2192 
2193         
2194         /**
2195         
2196 			For Ammo or for Weapon, secondary firing mode. Default projectile speed.
2197 		 */
2198         protected
2199          double SecSpeed =
2200         	0;
2201 
2202         
2203         /**
2204         
2205 			For Ammo or for Weapon, secondary firing mode. Default projectile speed.
2206 		 */
2207         public
2208         double getSecSpeed() {
2209             return
2210          SecSpeed;
2211         }
2212         
2213 
2214         
2215         /**
2216         
2217 			For Ammo or for Weapon, secondary firing mode. Maximum projectile speed.
2218 		 */
2219         protected
2220          double SecMaxSpeed =
2221         	0;
2222 
2223         
2224         /**
2225         
2226 			For Ammo or for Weapon, secondary firing mode. Maximum projectile speed.
2227 		 */
2228         public
2229         double getSecMaxSpeed() {
2230             return
2231          SecMaxSpeed;
2232         }
2233         
2234 
2235         
2236         /**
2237         
2238 			For Ammo or for Weapon, secondary firing mode. Maximum amount of time in seconds this projectile can survive in the environment.
2239 		 */
2240         protected
2241          double SecLifeSpan =
2242         	0;
2243 
2244         
2245         /**
2246         
2247 			For Ammo or for Weapon, secondary firing mode. Maximum amount of time in seconds this projectile can survive in the environment.
2248 		 */
2249         public
2250         double getSecLifeSpan() {
2251             return
2252          SecLifeSpan;
2253         }
2254         
2255 
2256         
2257         /**
2258         
2259 			For Ammo or for Weapon, secondary firing mode. If the projectile does splash damage, here is radius in ut units of the splash.
2260 		 */
2261         protected
2262          double SecDamageRadius =
2263         	0;
2264 
2265         
2266         /**
2267         
2268 			For Ammo or for Weapon, secondary firing mode. If the projectile does splash damage, here is radius in ut units of the splash.
2269 		 */
2270         public
2271         double getSecDamageRadius() {
2272             return
2273          SecDamageRadius;
2274         }
2275         
2276 
2277         
2278         /**
2279         
2280 			For Ammo or for Weapon, secondary firing mode. If the projectile is tossed, here is velocity in Z direction of the toss. TODO
2281 		 */
2282         protected
2283          double SecTossZ =
2284         	0;
2285 
2286         
2287         /**
2288         
2289 			For Ammo or for Weapon, secondary firing mode. If the projectile is tossed, here is velocity in Z direction of the toss. TODO
2290 		 */
2291         public
2292         double getSecTossZ() {
2293             return
2294          SecTossZ;
2295         }
2296         
2297 
2298         
2299         /**
2300         
2301 			For Ammo or for Weapon, secondary firing mode. Maximum effective distance. TODO
2302 		 */
2303         protected
2304          double SecMaxEffectDistance =
2305         	0;
2306 
2307         
2308         /**
2309         
2310 			For Ammo or for Weapon, secondary firing mode. Maximum effective distance. TODO
2311 		 */
2312         public
2313         double getSecMaxEffectDistance() {
2314             return
2315          SecMaxEffectDistance;
2316         }
2317         
2318 
2319         
2320         /**
2321         
2322 			If this item is some ammo or health pack, here we can find
2323 			out how much of the attribute this item will add.
2324 		 */
2325         protected
2326          int Amount =
2327         	0;
2328 
2329         
2330         /**
2331         
2332 			If this item is some ammo or health pack, here we can find
2333 			out how much of the attribute this item will add.
2334 		 */
2335         public
2336         int getAmount() {
2337             return
2338          Amount;
2339         }
2340         
2341 
2342         
2343         /**
2344         
2345 			If this item is health. True if super health.
2346 		 */
2347         protected
2348          boolean SuperHeal =
2349         	false;
2350 
2351         
2352         /**
2353         
2354 			If this item is health. True if super health.
2355 		 */
2356         public
2357         boolean isSuperHeal() {
2358             return
2359          SuperHeal;
2360         }
2361         
2362 
2363         
2364             /////// Properties END
2365 
2366             /////// Extra Java code BEGIN
2367 
2368             	/////// Additional code from xslt BEGIN
2369             		
2370             					public static final UnrealId ItemCategoryId = UnrealId.get("ItemCategoryId");
2371 
2372             					public UnrealId getId() {
2373             						return ItemCategoryId;
2374             					}
2375             				
2376        							protected double Time = 0;
2377 
2378        							protected double getTime() {
2379        								return Time;
2380        							}
2381 
2382        							protected void setTime(double time) {
2383        								this.Time = time;
2384        							}
2385 
2386        							public double getLastSeenTime() {
2387        								return Time;
2388        							}
2389        						
2390        					
2391        					public ILocalWorldObject getLocal() {
2392        						return null;
2393        					}
2394        					
2395        					public ISharedWorldObject getShared() {
2396        						return null;
2397        					}
2398        					
2399        					public IStaticWorldObject getStatic() {
2400        						return null;
2401        					}
2402        					
2403        					@Override
2404        					public long getSimTime() {
2405        						return (long)getLastSeenTime();
2406        					}
2407 
2408        					public boolean equals(Object obj) {
2409 	                      if (!(obj instanceof ItemCategory)) return false;
2410 	                      ItemCategory cast = (ItemCategory)obj;
2411 	                      if (this.getId() != null) return this.getId().equals(cast.getId());
2412 	                      else return cast.getId() == null;
2413 	                    }
2414 
2415 	                    public int hashCode() {
2416 	                      if (getId() != null) return getId().hashCode();
2417 	                      return 0;
2418 	                    }
2419 
2420             		
2421 
2422 
2423             	/////// Additional code from xslt END
2424 
2425 	            /////// Extra Java from XML BEGIN
2426             		
2427 			public ItemType getType() {
2428 				return getPickupType();
2429 			}
2430 		
2431             	/////// Extra Java from XML END
2432 
2433             /////// Extra Java code END
2434 
2435             
2436 
2437             /**
2438               * Cloning constructor.
2439               */
2440              public ItemCategory(ItemCategory original) {
2441                 
2442                      this.InventoryType=original.InventoryType;
2443                 
2444                      this.PickupType=original.PickupType;
2445                 
2446                      this.ItemCategory=original.ItemCategory;
2447                 
2448                      this.Melee=original.Melee;
2449                 
2450                      this.Sniping=original.Sniping;
2451                 
2452                      this.UsesAltAmmo=original.UsesAltAmmo;
2453                 
2454                      this.PriFireModeType=original.PriFireModeType;
2455                 
2456                      this.PriSplashDamage=original.PriSplashDamage;
2457                 
2458                      this.PriSplashJump=original.PriSplashJump;
2459                 
2460                      this.PriRecomSplashDamage=original.PriRecomSplashDamage;
2461                 
2462                      this.PriTossed=original.PriTossed;
2463                 
2464                      this.PriLeadTarget=original.PriLeadTarget;
2465                 
2466                      this.PriInstantHit=original.PriInstantHit;
2467                 
2468                      this.PriFireOnRelease=original.PriFireOnRelease;
2469                 
2470                      this.PriWaitForRelease=original.PriWaitForRelease;
2471                 
2472                      this.PriModeExclusive=original.PriModeExclusive;
2473                 
2474                      this.PriFireRate=original.PriFireRate;
2475                 
2476                      this.PriBotRefireRate=original.PriBotRefireRate;
2477                 
2478                      this.PriAmmoPerFire=original.PriAmmoPerFire;
2479                 
2480                      this.PriAmmoClipSize=original.PriAmmoClipSize;
2481                 
2482                      this.PriAimError=original.PriAimError;
2483                 
2484                      this.PriSpread=original.PriSpread;
2485                 
2486                      this.PriSpreadStyle=original.PriSpreadStyle;
2487                 
2488                      this.PriFireCount=original.PriFireCount;
2489                 
2490                      this.PriDamageAtten=original.PriDamageAtten;
2491                 
2492                      this.PriAmmoType=original.PriAmmoType;
2493                 
2494                      this.PriInitialAmount=original.PriInitialAmount;
2495                 
2496                      this.PriMaxAmount=original.PriMaxAmount;
2497                 
2498                      this.PriMaxRange=original.PriMaxRange;
2499                 
2500                      this.PriDamageType=original.PriDamageType;
2501                 
2502                      this.PriArmorStops=original.PriArmorStops;
2503                 
2504                      this.PriAlwaysGibs=original.PriAlwaysGibs;
2505                 
2506                      this.PriSpecial=original.PriSpecial;
2507                 
2508                      this.PriDetonatesGoop=original.PriDetonatesGoop;
2509                 
2510                      this.PriSuperWeapon=original.PriSuperWeapon;
2511                 
2512                      this.PriExtraMomZ=original.PriExtraMomZ;
2513                 
2514                      this.PriProjType=original.PriProjType;
2515                 
2516                      this.PriDamage=original.PriDamage;
2517                 
2518                      this.PriDamageMax=original.PriDamageMax;
2519                 
2520                      this.PriDamageMin=original.PriDamageMin;
2521                 
2522                      this.PriSpeed=original.PriSpeed;
2523                 
2524                      this.PriMaxSpeed=original.PriMaxSpeed;
2525                 
2526                      this.PriLifeSpan=original.PriLifeSpan;
2527                 
2528                      this.PriDamageRadius=original.PriDamageRadius;
2529                 
2530                      this.PriTossZ=original.PriTossZ;
2531                 
2532                      this.PriMaxEffectDistance=original.PriMaxEffectDistance;
2533                 
2534                      this.SecFireModeType=original.SecFireModeType;
2535                 
2536                      this.SecSplashDamage=original.SecSplashDamage;
2537                 
2538                      this.SecSplashJump=original.SecSplashJump;
2539                 
2540                      this.SecRecomSplashDamage=original.SecRecomSplashDamage;
2541                 
2542                      this.SecTossed=original.SecTossed;
2543                 
2544                      this.SecLeadTarget=original.SecLeadTarget;
2545                 
2546                      this.SecInstantHit=original.SecInstantHit;
2547                 
2548                      this.SecFireOnRelease=original.SecFireOnRelease;
2549                 
2550                      this.SecWaitForRelease=original.SecWaitForRelease;
2551                 
2552                      this.SecModeExclusive=original.SecModeExclusive;
2553                 
2554                      this.SecFireRate=original.SecFireRate;
2555                 
2556                      this.SecBotRefireRate=original.SecBotRefireRate;
2557                 
2558                      this.SecAmmoPerFire=original.SecAmmoPerFire;
2559                 
2560                      this.SecAmmoClipSize=original.SecAmmoClipSize;
2561                 
2562                      this.SecAimError=original.SecAimError;
2563                 
2564                      this.SecSpread=original.SecSpread;
2565                 
2566                      this.SecSpreadStyle=original.SecSpreadStyle;
2567                 
2568                      this.SecFireCount=original.SecFireCount;
2569                 
2570                      this.SecDamageAtten=original.SecDamageAtten;
2571                 
2572                      this.SecAmmoType=original.SecAmmoType;
2573                 
2574                      this.SecInitialAmount=original.SecInitialAmount;
2575                 
2576                      this.SecMaxAmount=original.SecMaxAmount;
2577                 
2578                      this.SecMaxRange=original.SecMaxRange;
2579                 
2580                      this.SecDamageType=original.SecDamageType;
2581                 
2582                      this.SecArmorStops=original.SecArmorStops;
2583                 
2584                      this.SecAlwaysGibs=original.SecAlwaysGibs;
2585                 
2586                      this.SecSpecial=original.SecSpecial;
2587                 
2588                      this.SecDetonatesGoop=original.SecDetonatesGoop;
2589                 
2590                      this.SecSuperWeapon=original.SecSuperWeapon;
2591                 
2592                      this.SecExtraMomZ=original.SecExtraMomZ;
2593                 
2594                      this.SecProjType=original.SecProjType;
2595                 
2596                      this.SecDamage=original.SecDamage;
2597                 
2598                      this.SecDamageMax=original.SecDamageMax;
2599                 
2600                      this.SecDamageMin=original.SecDamageMin;
2601                 
2602                      this.SecSpeed=original.SecSpeed;
2603                 
2604                      this.SecMaxSpeed=original.SecMaxSpeed;
2605                 
2606                      this.SecLifeSpan=original.SecLifeSpan;
2607                 
2608                      this.SecDamageRadius=original.SecDamageRadius;
2609                 
2610                      this.SecTossZ=original.SecTossZ;
2611                 
2612                      this.SecMaxEffectDistance=original.SecMaxEffectDistance;
2613                 
2614                      this.Amount=original.Amount;
2615                 
2616                      this.SuperHeal=original.SuperHeal;
2617                 
2618              }
2619 
2620              
2621                  /**
2622                   * Used by Yylex to create empty message then to fill it's protected fields (Yylex is in the same package).
2623                   */
2624 	             public ItemCategory() {
2625 	             }
2626              
2627 
2628 	    		/**
2629 	    		 * Here we save the original object for which this object is an update.
2630 	    		 */
2631 	    		private IWorldObject orig = null;
2632 
2633 	            public IWorldObjectUpdateResult update(IWorldObject obj) {
2634 		            if(obj == null) {
2635 		               orig = this;
2636 		               return new IWorldObjectUpdateResult.WorldObjectUpdateResult(cz.cuni.amis.pogamut.base.communication.translator.event.IWorldObjectUpdateResult.Result.CREATED, this);
2637 		            }
2638 		            orig = obj;
2639 		            // typecast
2640 		            ItemCategory  o = (ItemCategory)obj;
2641 
2642 		            boolean updated = false;
2643 
2644 		            
2645 								o.Time = Time;
2646 							
2647 
2648 		            if (updated) {
2649 		                return new IWorldObjectUpdateResult.WorldObjectUpdateResult(cz.cuni.amis.pogamut.base.communication.translator.event.IWorldObjectUpdateResult.Result.UPDATED, o);
2650 		            } else {
2651 		            	return new IWorldObjectUpdateResult.WorldObjectUpdateResult(cz.cuni.amis.pogamut.base.communication.translator.event.IWorldObjectUpdateResult.Result.SAME, o);
2652 		            }
2653 		        }
2654 
2655 	            /**
2656 	             * Returns original object (if method update() has already been called, for bot-programmer that is always true
2657 	             * as the original object is updated and then the event is propagated).
2658 	             */
2659 		        public IWorldObject getObject() {
2660 		            if (orig == null) return this;
2661 		            return orig;
2662 		        }
2663 	        
2664 
2665                  
2666             public String toString() {
2667                 return
2668                 
2669                 		super.toString() + " | " +
2670                 		
2671 				               "InventoryType = " +
2672 				               String.valueOf(InventoryType) + " | " +
2673 				            
2674 				               "PickupType = " +
2675 				               String.valueOf(PickupType) + " | " +
2676 				            
2677 				               "ItemCategory = " +
2678 				               String.valueOf(ItemCategory) + " | " +
2679 				            
2680 				               "Melee = " +
2681 				               String.valueOf(Melee) + " | " +
2682 				            
2683 				               "Sniping = " +
2684 				               String.valueOf(Sniping) + " | " +
2685 				            
2686 				               "UsesAltAmmo = " +
2687 				               String.valueOf(UsesAltAmmo) + " | " +
2688 				            
2689 				               "PriFireModeType = " +
2690 				               String.valueOf(PriFireModeType) + " | " +
2691 				            
2692 				               "PriSplashDamage = " +
2693 				               String.valueOf(PriSplashDamage) + " | " +
2694 				            
2695 				               "PriSplashJump = " +
2696 				               String.valueOf(PriSplashJump) + " | " +
2697 				            
2698 				               "PriRecomSplashDamage = " +
2699 				               String.valueOf(PriRecomSplashDamage) + " | " +
2700 				            
2701 				               "PriTossed = " +
2702 				               String.valueOf(PriTossed) + " | " +
2703 				            
2704 				               "PriLeadTarget = " +
2705 				               String.valueOf(PriLeadTarget) + " | " +
2706 				            
2707 				               "PriInstantHit = " +
2708 				               String.valueOf(PriInstantHit) + " | " +
2709 				            
2710 				               "PriFireOnRelease = " +
2711 				               String.valueOf(PriFireOnRelease) + " | " +
2712 				            
2713 				               "PriWaitForRelease = " +
2714 				               String.valueOf(PriWaitForRelease) + " | " +
2715 				            
2716 				               "PriModeExclusive = " +
2717 				               String.valueOf(PriModeExclusive) + " | " +
2718 				            
2719 				               "PriFireRate = " +
2720 				               String.valueOf(PriFireRate) + " | " +
2721 				            
2722 				               "PriBotRefireRate = " +
2723 				               String.valueOf(PriBotRefireRate) + " | " +
2724 				            
2725 				               "PriAmmoPerFire = " +
2726 				               String.valueOf(PriAmmoPerFire) + " | " +
2727 				            
2728 				               "PriAmmoClipSize = " +
2729 				               String.valueOf(PriAmmoClipSize) + " | " +
2730 				            
2731 				               "PriAimError = " +
2732 				               String.valueOf(PriAimError) + " | " +
2733 				            
2734 				               "PriSpread = " +
2735 				               String.valueOf(PriSpread) + " | " +
2736 				            
2737 				               "PriSpreadStyle = " +
2738 				               String.valueOf(PriSpreadStyle) + " | " +
2739 				            
2740 				               "PriFireCount = " +
2741 				               String.valueOf(PriFireCount) + " | " +
2742 				            
2743 				               "PriDamageAtten = " +
2744 				               String.valueOf(PriDamageAtten) + " | " +
2745 				            
2746 				               "PriAmmoType = " +
2747 				               String.valueOf(PriAmmoType) + " | " +
2748 				            
2749 				               "PriInitialAmount = " +
2750 				               String.valueOf(PriInitialAmount) + " | " +
2751 				            
2752 				               "PriMaxAmount = " +
2753 				               String.valueOf(PriMaxAmount) + " | " +
2754 				            
2755 				               "PriMaxRange = " +
2756 				               String.valueOf(PriMaxRange) + " | " +
2757 				            
2758 				               "PriDamageType = " +
2759 				               String.valueOf(PriDamageType) + " | " +
2760 				            
2761 				               "PriArmorStops = " +
2762 				               String.valueOf(PriArmorStops) + " | " +
2763 				            
2764 				               "PriAlwaysGibs = " +
2765 				               String.valueOf(PriAlwaysGibs) + " | " +
2766 				            
2767 				               "PriSpecial = " +
2768 				               String.valueOf(PriSpecial) + " | " +
2769 				            
2770 				               "PriDetonatesGoop = " +
2771 				               String.valueOf(PriDetonatesGoop) + " | " +
2772 				            
2773 				               "PriSuperWeapon = " +
2774 				               String.valueOf(PriSuperWeapon) + " | " +
2775 				            
2776 				               "PriExtraMomZ = " +
2777 				               String.valueOf(PriExtraMomZ) + " | " +
2778 				            
2779 				               "PriProjType = " +
2780 				               String.valueOf(PriProjType) + " | " +
2781 				            
2782 				               "PriDamage = " +
2783 				               String.valueOf(PriDamage) + " | " +
2784 				            
2785 				               "PriDamageMax = " +
2786 				               String.valueOf(PriDamageMax) + " | " +
2787 				            
2788 				               "PriDamageMin = " +
2789 				               String.valueOf(PriDamageMin) + " | " +
2790 				            
2791 				               "PriSpeed = " +
2792 				               String.valueOf(PriSpeed) + " | " +
2793 				            
2794 				               "PriMaxSpeed = " +
2795 				               String.valueOf(PriMaxSpeed) + " | " +
2796 				            
2797 				               "PriLifeSpan = " +
2798 				               String.valueOf(PriLifeSpan) + " | " +
2799 				            
2800 				               "PriDamageRadius = " +
2801 				               String.valueOf(PriDamageRadius) + " | " +
2802 				            
2803 				               "PriTossZ = " +
2804 				               String.valueOf(PriTossZ) + " | " +
2805 				            
2806 				               "PriMaxEffectDistance = " +
2807 				               String.valueOf(PriMaxEffectDistance) + " | " +
2808 				            
2809 				               "SecFireModeType = " +
2810 				               String.valueOf(SecFireModeType) + " | " +
2811 				            
2812 				               "SecSplashDamage = " +
2813 				               String.valueOf(SecSplashDamage) + " | " +
2814 				            
2815 				               "SecSplashJump = " +
2816 				               String.valueOf(SecSplashJump) + " | " +
2817 				            
2818 				               "SecRecomSplashDamage = " +
2819 				               String.valueOf(SecRecomSplashDamage) + " | " +
2820 				            
2821 				               "SecTossed = " +
2822 				               String.valueOf(SecTossed) + " | " +
2823 				            
2824 				               "SecLeadTarget = " +
2825 				               String.valueOf(SecLeadTarget) + " | " +
2826 				            
2827 				               "SecInstantHit = " +
2828 				               String.valueOf(SecInstantHit) + " | " +
2829 				            
2830 				               "SecFireOnRelease = " +
2831 				               String.valueOf(SecFireOnRelease) + " | " +
2832 				            
2833 				               "SecWaitForRelease = " +
2834 				               String.valueOf(SecWaitForRelease) + " | " +
2835 				            
2836 				               "SecModeExclusive = " +
2837 				               String.valueOf(SecModeExclusive) + " | " +
2838 				            
2839 				               "SecFireRate = " +
2840 				               String.valueOf(SecFireRate) + " | " +
2841 				            
2842 				               "SecBotRefireRate = " +
2843 				               String.valueOf(SecBotRefireRate) + " | " +
2844 				            
2845 				               "SecAmmoPerFire = " +
2846 				               String.valueOf(SecAmmoPerFire) + " | " +
2847 				            
2848 				               "SecAmmoClipSize = " +
2849 				               String.valueOf(SecAmmoClipSize) + " | " +
2850 				            
2851 				               "SecAimError = " +
2852 				               String.valueOf(SecAimError) + " | " +
2853 				            
2854 				               "SecSpread = " +
2855 				               String.valueOf(SecSpread) + " | " +
2856 				            
2857 				               "SecSpreadStyle = " +
2858 				               String.valueOf(SecSpreadStyle) + " | " +
2859 				            
2860 				               "SecFireCount = " +
2861 				               String.valueOf(SecFireCount) + " | " +
2862 				            
2863 				               "SecDamageAtten = " +
2864 				               String.valueOf(SecDamageAtten) + " | " +
2865 				            
2866 				               "SecAmmoType = " +
2867 				               String.valueOf(SecAmmoType) + " | " +
2868 				            
2869 				               "SecInitialAmount = " +
2870 				               String.valueOf(SecInitialAmount) + " | " +
2871 				            
2872 				               "SecMaxAmount = " +
2873 				               String.valueOf(SecMaxAmount) + " | " +
2874 				            
2875 				               "SecMaxRange = " +
2876 				               String.valueOf(SecMaxRange) + " | " +
2877 				            
2878 				               "SecDamageType = " +
2879 				               String.valueOf(SecDamageType) + " | " +
2880 				            
2881 				               "SecArmorStops = " +
2882 				               String.valueOf(SecArmorStops) + " | " +
2883 				            
2884 				               "SecAlwaysGibs = " +
2885 				               String.valueOf(SecAlwaysGibs) + " | " +
2886 				            
2887 				               "SecSpecial = " +
2888 				               String.valueOf(SecSpecial) + " | " +
2889 				            
2890 				               "SecDetonatesGoop = " +
2891 				               String.valueOf(SecDetonatesGoop) + " | " +
2892 				            
2893 				               "SecSuperWeapon = " +
2894 				               String.valueOf(SecSuperWeapon) + " | " +
2895 				            
2896 				               "SecExtraMomZ = " +
2897 				               String.valueOf(SecExtraMomZ) + " | " +
2898 				            
2899 				               "SecProjType = " +
2900 				               String.valueOf(SecProjType) + " | " +
2901 				            
2902 				               "SecDamage = " +
2903 				               String.valueOf(SecDamage) + " | " +
2904 				            
2905 				               "SecDamageMax = " +
2906 				               String.valueOf(SecDamageMax) + " | " +
2907 				            
2908 				               "SecDamageMin = " +
2909 				               String.valueOf(SecDamageMin) + " | " +
2910 				            
2911 				               "SecSpeed = " +
2912 				               String.valueOf(SecSpeed) + " | " +
2913 				            
2914 				               "SecMaxSpeed = " +
2915 				               String.valueOf(SecMaxSpeed) + " | " +
2916 				            
2917 				               "SecLifeSpan = " +
2918 				               String.valueOf(SecLifeSpan) + " | " +
2919 				            
2920 				               "SecDamageRadius = " +
2921 				               String.valueOf(SecDamageRadius) + " | " +
2922 				            
2923 				               "SecTossZ = " +
2924 				               String.valueOf(SecTossZ) + " | " +
2925 				            
2926 				               "SecMaxEffectDistance = " +
2927 				               String.valueOf(SecMaxEffectDistance) + " | " +
2928 				            
2929 				               "Amount = " +
2930 				               String.valueOf(Amount) + " | " +
2931 				            
2932 				               "SuperHeal = " +
2933 				               String.valueOf(SuperHeal) + " | " +
2934 				             "";
2935                 	
2936              }
2937 
2938              public String toHtmlString() {
2939                 return super.toString() +
2940             
2941             "<b>InventoryType</b> : " +
2942             String.valueOf(InventoryType) +
2943             " <br/> " +
2944             
2945             "<b>PickupType</b> : " +
2946             String.valueOf(PickupType) +
2947             " <br/> " +
2948             
2949             "<b>ItemCategory</b> : " +
2950             String.valueOf(ItemCategory) +
2951             " <br/> " +
2952             
2953             "<b>Melee</b> : " +
2954             String.valueOf(Melee) +
2955             " <br/> " +
2956             
2957             "<b>Sniping</b> : " +
2958             String.valueOf(Sniping) +
2959             " <br/> " +
2960             
2961             "<b>UsesAltAmmo</b> : " +
2962             String.valueOf(UsesAltAmmo) +
2963             " <br/> " +
2964             
2965             "<b>PriFireModeType</b> : " +
2966             String.valueOf(PriFireModeType) +
2967             " <br/> " +
2968             
2969             "<b>PriSplashDamage</b> : " +
2970             String.valueOf(PriSplashDamage) +
2971             " <br/> " +
2972             
2973             "<b>PriSplashJump</b> : " +
2974             String.valueOf(PriSplashJump) +
2975             " <br/> " +
2976             
2977             "<b>PriRecomSplashDamage</b> : " +
2978             String.valueOf(PriRecomSplashDamage) +
2979             " <br/> " +
2980             
2981             "<b>PriTossed</b> : " +
2982             String.valueOf(PriTossed) +
2983             " <br/> " +
2984             
2985             "<b>PriLeadTarget</b> : " +
2986             String.valueOf(PriLeadTarget) +
2987             " <br/> " +
2988             
2989             "<b>PriInstantHit</b> : " +
2990             String.valueOf(PriInstantHit) +
2991             " <br/> " +
2992             
2993             "<b>PriFireOnRelease</b> : " +
2994             String.valueOf(PriFireOnRelease) +
2995             " <br/> " +
2996             
2997             "<b>PriWaitForRelease</b> : " +
2998             String.valueOf(PriWaitForRelease) +
2999             " <br/> " +
3000             
3001             "<b>PriModeExclusive</b> : " +
3002             String.valueOf(PriModeExclusive) +
3003             " <br/> " +
3004             
3005             "<b>PriFireRate</b> : " +
3006             String.valueOf(PriFireRate) +
3007             " <br/> " +
3008             
3009             "<b>PriBotRefireRate</b> : " +
3010             String.valueOf(PriBotRefireRate) +
3011             " <br/> " +
3012             
3013             "<b>PriAmmoPerFire</b> : " +
3014             String.valueOf(PriAmmoPerFire) +
3015             " <br/> " +
3016             
3017             "<b>PriAmmoClipSize</b> : " +
3018             String.valueOf(PriAmmoClipSize) +
3019             " <br/> " +
3020             
3021             "<b>PriAimError</b> : " +
3022             String.valueOf(PriAimError) +
3023             " <br/> " +
3024             
3025             "<b>PriSpread</b> : " +
3026             String.valueOf(PriSpread) +
3027             " <br/> " +
3028             
3029             "<b>PriSpreadStyle</b> : " +
3030             String.valueOf(PriSpreadStyle) +
3031             " <br/> " +
3032             
3033             "<b>PriFireCount</b> : " +
3034             String.valueOf(PriFireCount) +
3035             " <br/> " +
3036             
3037             "<b>PriDamageAtten</b> : " +
3038             String.valueOf(PriDamageAtten) +
3039             " <br/> " +
3040             
3041             "<b>PriAmmoType</b> : " +
3042             String.valueOf(PriAmmoType) +
3043             " <br/> " +
3044             
3045             "<b>PriInitialAmount</b> : " +
3046             String.valueOf(PriInitialAmount) +
3047             " <br/> " +
3048             
3049             "<b>PriMaxAmount</b> : " +
3050             String.valueOf(PriMaxAmount) +
3051             " <br/> " +
3052             
3053             "<b>PriMaxRange</b> : " +
3054             String.valueOf(PriMaxRange) +
3055             " <br/> " +
3056             
3057             "<b>PriDamageType</b> : " +
3058             String.valueOf(PriDamageType) +
3059             " <br/> " +
3060             
3061             "<b>PriArmorStops</b> : " +
3062             String.valueOf(PriArmorStops) +
3063             " <br/> " +
3064             
3065             "<b>PriAlwaysGibs</b> : " +
3066             String.valueOf(PriAlwaysGibs) +
3067             " <br/> " +
3068             
3069             "<b>PriSpecial</b> : " +
3070             String.valueOf(PriSpecial) +
3071             " <br/> " +
3072             
3073             "<b>PriDetonatesGoop</b> : " +
3074             String.valueOf(PriDetonatesGoop) +
3075             " <br/> " +
3076             
3077             "<b>PriSuperWeapon</b> : " +
3078             String.valueOf(PriSuperWeapon) +
3079             " <br/> " +
3080             
3081             "<b>PriExtraMomZ</b> : " +
3082             String.valueOf(PriExtraMomZ) +
3083             " <br/> " +
3084             
3085             "<b>PriProjType</b> : " +
3086             String.valueOf(PriProjType) +
3087             " <br/> " +
3088             
3089             "<b>PriDamage</b> : " +
3090             String.valueOf(PriDamage) +
3091             " <br/> " +
3092             
3093             "<b>PriDamageMax</b> : " +
3094             String.valueOf(PriDamageMax) +
3095             " <br/> " +
3096             
3097             "<b>PriDamageMin</b> : " +
3098             String.valueOf(PriDamageMin) +
3099             " <br/> " +
3100             
3101             "<b>PriSpeed</b> : " +
3102             String.valueOf(PriSpeed) +
3103             " <br/> " +
3104             
3105             "<b>PriMaxSpeed</b> : " +
3106             String.valueOf(PriMaxSpeed) +
3107             " <br/> " +
3108             
3109             "<b>PriLifeSpan</b> : " +
3110             String.valueOf(PriLifeSpan) +
3111             " <br/> " +
3112             
3113             "<b>PriDamageRadius</b> : " +
3114             String.valueOf(PriDamageRadius) +
3115             " <br/> " +
3116             
3117             "<b>PriTossZ</b> : " +
3118             String.valueOf(PriTossZ) +
3119             " <br/> " +
3120             
3121             "<b>PriMaxEffectDistance</b> : " +
3122             String.valueOf(PriMaxEffectDistance) +
3123             " <br/> " +
3124             
3125             "<b>SecFireModeType</b> : " +
3126             String.valueOf(SecFireModeType) +
3127             " <br/> " +
3128             
3129             "<b>SecSplashDamage</b> : " +
3130             String.valueOf(SecSplashDamage) +
3131             " <br/> " +
3132             
3133             "<b>SecSplashJump</b> : " +
3134             String.valueOf(SecSplashJump) +
3135             " <br/> " +
3136             
3137             "<b>SecRecomSplashDamage</b> : " +
3138             String.valueOf(SecRecomSplashDamage) +
3139             " <br/> " +
3140             
3141             "<b>SecTossed</b> : " +
3142             String.valueOf(SecTossed) +
3143             " <br/> " +
3144             
3145             "<b>SecLeadTarget</b> : " +
3146             String.valueOf(SecLeadTarget) +
3147             " <br/> " +
3148             
3149             "<b>SecInstantHit</b> : " +
3150             String.valueOf(SecInstantHit) +
3151             " <br/> " +
3152             
3153             "<b>SecFireOnRelease</b> : " +
3154             String.valueOf(SecFireOnRelease) +
3155             " <br/> " +
3156             
3157             "<b>SecWaitForRelease</b> : " +
3158             String.valueOf(SecWaitForRelease) +
3159             " <br/> " +
3160             
3161             "<b>SecModeExclusive</b> : " +
3162             String.valueOf(SecModeExclusive) +
3163             " <br/> " +
3164             
3165             "<b>SecFireRate</b> : " +
3166             String.valueOf(SecFireRate) +
3167             " <br/> " +
3168             
3169             "<b>SecBotRefireRate</b> : " +
3170             String.valueOf(SecBotRefireRate) +
3171             " <br/> " +
3172             
3173             "<b>SecAmmoPerFire</b> : " +
3174             String.valueOf(SecAmmoPerFire) +
3175             " <br/> " +
3176             
3177             "<b>SecAmmoClipSize</b> : " +
3178             String.valueOf(SecAmmoClipSize) +
3179             " <br/> " +
3180             
3181             "<b>SecAimError</b> : " +
3182             String.valueOf(SecAimError) +
3183             " <br/> " +
3184             
3185             "<b>SecSpread</b> : " +
3186             String.valueOf(SecSpread) +
3187             " <br/> " +
3188             
3189             "<b>SecSpreadStyle</b> : " +
3190             String.valueOf(SecSpreadStyle) +
3191             " <br/> " +
3192             
3193             "<b>SecFireCount</b> : " +
3194             String.valueOf(SecFireCount) +
3195             " <br/> " +
3196             
3197             "<b>SecDamageAtten</b> : " +
3198             String.valueOf(SecDamageAtten) +
3199             " <br/> " +
3200             
3201             "<b>SecAmmoType</b> : " +
3202             String.valueOf(SecAmmoType) +
3203             " <br/> " +
3204             
3205             "<b>SecInitialAmount</b> : " +
3206             String.valueOf(SecInitialAmount) +
3207             " <br/> " +
3208             
3209             "<b>SecMaxAmount</b> : " +
3210             String.valueOf(SecMaxAmount) +
3211             " <br/> " +
3212             
3213             "<b>SecMaxRange</b> : " +
3214             String.valueOf(SecMaxRange) +
3215             " <br/> " +
3216             
3217             "<b>SecDamageType</b> : " +
3218             String.valueOf(SecDamageType) +
3219             " <br/> " +
3220             
3221             "<b>SecArmorStops</b> : " +
3222             String.valueOf(SecArmorStops) +
3223             " <br/> " +
3224             
3225             "<b>SecAlwaysGibs</b> : " +
3226             String.valueOf(SecAlwaysGibs) +
3227             " <br/> " +
3228             
3229             "<b>SecSpecial</b> : " +
3230             String.valueOf(SecSpecial) +
3231             " <br/> " +
3232             
3233             "<b>SecDetonatesGoop</b> : " +
3234             String.valueOf(SecDetonatesGoop) +
3235             " <br/> " +
3236             
3237             "<b>SecSuperWeapon</b> : " +
3238             String.valueOf(SecSuperWeapon) +
3239             " <br/> " +
3240             
3241             "<b>SecExtraMomZ</b> : " +
3242             String.valueOf(SecExtraMomZ) +
3243             " <br/> " +
3244             
3245             "<b>SecProjType</b> : " +
3246             String.valueOf(SecProjType) +
3247             " <br/> " +
3248             
3249             "<b>SecDamage</b> : " +
3250             String.valueOf(SecDamage) +
3251             " <br/> " +
3252             
3253             "<b>SecDamageMax</b> : " +
3254             String.valueOf(SecDamageMax) +
3255             " <br/> " +
3256             
3257             "<b>SecDamageMin</b> : " +
3258             String.valueOf(SecDamageMin) +
3259             " <br/> " +
3260             
3261             "<b>SecSpeed</b> : " +
3262             String.valueOf(SecSpeed) +
3263             " <br/> " +
3264             
3265             "<b>SecMaxSpeed</b> : " +
3266             String.valueOf(SecMaxSpeed) +
3267             " <br/> " +
3268             
3269             "<b>SecLifeSpan</b> : " +
3270             String.valueOf(SecLifeSpan) +
3271             " <br/> " +
3272             
3273             "<b>SecDamageRadius</b> : " +
3274             String.valueOf(SecDamageRadius) +
3275             " <br/> " +
3276             
3277             "<b>SecTossZ</b> : " +
3278             String.valueOf(SecTossZ) +
3279             " <br/> " +
3280             
3281             "<b>SecMaxEffectDistance</b> : " +
3282             String.valueOf(SecMaxEffectDistance) +
3283             " <br/> " +
3284             
3285             "<b>Amount</b> : " +
3286             String.valueOf(Amount) +
3287             " <br/> " +
3288             
3289             "<b>SuperHeal</b> : " +
3290             String.valueOf(SuperHeal) +
3291             " <br/> " +
3292              "";
3293              }
3294 
3295              
3296              
3297              }
3298 
3299