hedgewars/uConsts.pas
changeset 2647 0e1208e92dfe
parent 2630 079ef82eac75
child 2653 4922d5fe5316
equal deleted inserted replaced
2646:6a1185633872 2647:0e1208e92dfe
    82 			vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble,
    82 			vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble,
    83 			vgtSteam, vgtHealth);
    83 			vgtSteam, vgtHealth);
    84 
    84 
    85 	TGearsType = set of TGearType;
    85 	TGearsType = set of TGearType;
    86 
    86 
    87 	TSound = (sndGrenadeImpact, sndExplosion, sndThrowPowerUp, sndThrowRelease,
    87 	TSound = (sndNone,
       
    88 			sndGrenadeImpact, sndExplosion, sndThrowPowerUp, sndThrowRelease,
    88 			sndSplash, sndShotgunReload, sndShotgunFire, sndGraveImpact,
    89 			sndSplash, sndShotgunReload, sndShotgunFire, sndGraveImpact,
    89 			sndMineTick, sndPickhammer, sndGun, sndUFO, sndJump1, sndJump2,
    90 			sndMineTick, sndPickhammer, sndGun, sndUFO, sndJump1, sndJump2,
    90 			sndJump3, sndYesSir, sndLaugh, sndIllGetYou, sndIncoming,
    91 			sndJump3, sndYesSir, sndLaugh, sndIllGetYou, sndIncoming,
    91 			sndMissed, sndStupid, sndFirstBlood, sndBoring, sndByeBye,
    92 			sndMissed, sndStupid, sndFirstBlood, sndBoring, sndByeBye,
    92 			sndSameTeam, sndNutter, sndReinforce, sndTraitor, sndRegret,
    93 			sndSameTeam, sndNutter, sndReinforce, sndTraitor, sndRegret,
    94 			sndCake, sndOw1, sndOw4, sndFirePunch1, sndFirePunch2,
    95 			sndCake, sndOw1, sndOw4, sndFirePunch1, sndFirePunch2,
    95 			sndFirePunch3, sndFirePunch4, sndFirePunch5, sndFirePunch6,
    96 			sndFirePunch3, sndFirePunch4, sndFirePunch5, sndFirePunch6,
    96 			sndMelon, sndHellish, sndYoohoo, sndRCPlane, sndWhipCrack,
    97 			sndMelon, sndHellish, sndYoohoo, sndRCPlane, sndWhipCrack,
    97 			sndRideOfTheValkyries, sndDenied, sndPlaced, sndBaseballBat,
    98 			sndRideOfTheValkyries, sndDenied, sndPlaced, sndBaseballBat,
    98 			sndVaporize, sndWarp, sndSuddenDeath, sndMortar, sndShutter,
    99 			sndVaporize, sndWarp, sndSuddenDeath, sndMortar, sndShutter,
    99 			sndHomerun, sndMolotov);
   100 			sndHomerun, sndMolotov, sndWalking, sndCover, sndUhOh,
       
   101 			sndOops, sndNooo, sndHello, sndRopeShot, sndRopeAttach,
       
   102 			sndRopeRelease);
   100 
   103 
   101 	TAmmoType  = (amNothing, amGrenade, amClusterBomb, amBazooka, amUFO, amShotgun, amPickHammer,
   104 	TAmmoType  = (amNothing, amGrenade, amClusterBomb, amBazooka, amUFO, amShotgun, amPickHammer,
   102 			amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch, amWhip,
   105 			amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch, amWhip,
   103 			amBaseballBat, amParachute, amAirAttack, amMineStrike, amBlowTorch,
   106 			amBaseballBat, amParachute, amAirAttack, amMineStrike, amBlowTorch,
   104 			amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake,
   107 			amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake,
   129 			Count: LongWord;
   132 			Count: LongWord;
   130 			NumPerTurn: LongWord;
   133 			NumPerTurn: LongWord;
   131 			Timer: LongWord;
   134 			Timer: LongWord;
   132 			Pos: LongWord;
   135 			Pos: LongWord;
   133 			AmmoType: TAmmoType;
   136 			AmmoType: TAmmoType;
       
   137 			AttackVoice: TSound;
   134 			end;
   138 			end;
   135 
   139 
   136 	TVertex2f = record
   140 	TVertex2f = record
   137 		X, Y: GLfloat;
   141 		X, Y: GLfloat;
   138 		end;
   142 		end;
   199 	LAND_HEIGHT_MASK = $FFFFF800;
   203 	LAND_HEIGHT_MASK = $FFFFF800;
   200 {$ENDIF}
   204 {$ENDIF}
   201 
   205 
   202 	COLOR_LAND           = $FFFF;  // white
   206 	COLOR_LAND           = $FFFF;  // white
   203 	COLOR_INDESTRUCTIBLE = $88FF;  // red
   207 	COLOR_INDESTRUCTIBLE = $88FF;  // red
       
   208 	COLOR_OBJECT         = $44FF;  // no idea
   204 
   209 
   205 	// some opengl headers do not have these macros
   210 	// some opengl headers do not have these macros
   206 	GL_BGR  = $80E0;
   211 	GL_BGR  = $80E0;
   207 	GL_BGRA = $80E1;
   212 	GL_BGRA = $80E1;
   208 	GL_CLAMP_TO_EDGE = $812F;
   213 	GL_CLAMP_TO_EDGE = $812F;
   335 	htTeamName    = $01;
   340 	htTeamName    = $01;
   336 	htName        = $02;
   341 	htName        = $02;
   337 	htHealth      = $04;
   342 	htHealth      = $04;
   338 	htTransparent = $80;
   343 	htTransparent = $80;
   339 	
   344 	
   340 	cTagsMasks       : array[0..7] of byte = (
   345 	cTagsMasks : array[0..7] of byte = (
   341 				htTeamName or htName or htHealth,
   346 				htTeamName or htName or htHealth,
   342 				htName or htHealth,
   347 				htName or htHealth,
   343 				htHealth,
   348 				htHealth,
   344 				htNone,
   349 				htNone,
   345 				htTeamName or htName or htHealth or htTransparent,
   350 				htTeamName or htName or htHealth or htTransparent,
   641 	Wavez: array [TWave] of record
   646 	Wavez: array [TWave] of record
   642 			Sprite: TSprite;
   647 			Sprite: TSprite;
   643 			FramesCount: Longword;
   648 			FramesCount: Longword;
   644 			Interval: Longword;
   649 			Interval: Longword;
   645 			cmd: String[20];
   650 			cmd: String[20];
       
   651 			Voice: TSound;
       
   652 			VoiceDelay: ShortInt;
   646 			end = (
   653 			end = (
   647 			(Sprite:   sprKowtow; FramesCount: 12; Interval: 125; cmd: '/rollup'),
   654 			(Sprite:   sprKowtow; FramesCount: 12; Interval: 125; cmd: '/rollup'; Voice: sndNone; VoiceDelay: 0),
   648 			(Sprite:      sprSad; FramesCount: 14; Interval: 125; cmd: '/sad'),
   655 			(Sprite:      sprSad; FramesCount: 14; Interval: 125; cmd: '/sad'; Voice: sndNone; VoiceDelay: 0),
   649 			(Sprite:     sprWave; FramesCount: 16; Interval: 125; cmd: '/wave'),
   656 			(Sprite:     sprWave; FramesCount: 16; Interval: 125; cmd: '/wave'; Voice: sndHello; VoiceDelay: 5),
   650 			(Sprite:   sprHurrah; FramesCount: 14; Interval: 125; cmd: '/hurrah'),
   657 			(Sprite:   sprHurrah; FramesCount: 14; Interval: 125; cmd: '/hurrah'; Voice: sndNone; VoiceDelay: 0),
   651 			(Sprite: sprLemonade; FramesCount: 24; Interval: 125; cmd: '/ilovelotsoflemonade'),
   658 			(Sprite: sprLemonade; FramesCount: 24; Interval: 125; cmd: '/ilovelotsoflemonade'; Voice: sndNone; VoiceDelay: 0),
   652 			(Sprite:    sprShrug; FramesCount: 24; Interval: 125; cmd: '/shrug'),
   659 			(Sprite:    sprShrug; FramesCount: 24; Interval: 125; cmd: '/shrug'; Voice: sndNone; VoiceDelay: 0),
   653 			(Sprite:   sprJuggle; FramesCount: 49; Interval:  38; cmd: '/juggle')
   660 			(Sprite:   sprJuggle; FramesCount: 49; Interval:  38; cmd: '/juggle'; Voice: sndNone; VoiceDelay: 0)
   654 			);
   661 			);
   655 
   662 
   656 	Soundz: array[TSound] of record
   663 	Soundz: array[TSound] of record
   657 			FileName: String[25];
   664 			FileName: String[25];
   658 			Path    : TPathType;
   665 			Path    : TPathType;
   659 			end = (
   666 			end = (
       
   667 			(FileName:                         ''; Path: ptNone  ),// sndNone
   660 			(FileName:        'grenadeimpact.ogg'; Path: ptSounds),// sndGrenadeImpact
   668 			(FileName:        'grenadeimpact.ogg'; Path: ptSounds),// sndGrenadeImpact
   661 			(FileName:            'explosion.ogg'; Path: ptSounds),// sndExplosion
   669 			(FileName:            'explosion.ogg'; Path: ptSounds),// sndExplosion
   662 			(FileName:         'throwpowerup.ogg'; Path: ptSounds),// sndThrowPowerUp
   670 			(FileName:         'throwpowerup.ogg'; Path: ptSounds),// sndThrowPowerUp
   663 			(FileName:         'throwrelease.ogg'; Path: ptSounds),// sndThrowRelease
   671 			(FileName:         'throwrelease.ogg'; Path: ptSounds),// sndThrowRelease
   664 			(FileName:               'splash.ogg'; Path: ptSounds),// sndSplash
   672 			(FileName:               'splash.ogg'; Path: ptSounds),// sndSplash
   713 			(FileName:                 'warp.ogg'; Path: ptSounds),// sndWarp
   721 			(FileName:                 'warp.ogg'; Path: ptSounds),// sndWarp
   714 			(FileName:          'suddendeath.ogg'; Path: ptSounds),// sndSuddenDeath
   722 			(FileName:          'suddendeath.ogg'; Path: ptSounds),// sndSuddenDeath
   715 			(FileName:               'mortar.ogg'; Path: ptSounds),// sndMortar
   723 			(FileName:               'mortar.ogg'; Path: ptSounds),// sndMortar
   716 			(FileName:         'shutterclick.ogg'; Path: ptSounds),// sndShutter
   724 			(FileName:         'shutterclick.ogg'; Path: ptSounds),// sndShutter
   717 			(FileName:              'homerun.ogg'; Path: ptSounds),// sndHomerun
   725 			(FileName:              'homerun.ogg'; Path: ptSounds),// sndHomerun
   718 			(FileName:              'molotov.ogg'; Path: ptSounds) // sndMolotov
   726 			(FileName:              'molotov.ogg'; Path: ptSounds),// sndMolotov
       
   727 			(FileName:              'walking.ogg'; Path: ptSounds),// sndWalking
       
   728 			(FileName:            'Takecover.ogg'; Path: ptVoices),// sndCover
       
   729 			(FileName:                'Uh-oh.ogg'; Path: ptVoices),// sndUhOh
       
   730 			(FileName:                 'Oops.ogg'; Path: ptVoices),// sndOops
       
   731 			(FileName:                 'Nooo.ogg'; Path: ptVoices),// sndNooo
       
   732 			(FileName:                'Hello.ogg'; Path: ptVoices),// sndHello
       
   733 			(FileName:                         ''; Path: ptSounds),// sndRopeShot
       
   734 			(FileName:                         ''; Path: ptSounds),// sndRopeAttach
       
   735 			(FileName:                         ''; Path: ptSounds) // sndRopeRelease
   719 			);
   736 			);
   720 
   737 
   721 	Ammoz: array [TAmmoType] of record
   738 	Ammoz: array [TAmmoType] of record
   722 			NameId: TAmmoStrId;
   739 			NameId: TAmmoStrId;
   723 			NameTex: PTexture;
   740 			NameTex: PTexture;
   740                           ammoprop_Utility;
   757                           ammoprop_Utility;
   741 					Count: AMMO_INFINITE;
   758 					Count: AMMO_INFINITE;
   742 					NumPerTurn: 0;
   759 					NumPerTurn: 0;
   743 					Timer: 0;
   760 					Timer: 0;
   744 					Pos: 0;
   761 					Pos: 0;
   745 					AmmoType: amNothing);
   762 					AmmoType: amNothing;
       
   763 					AttackVoice: sndNone);
   746 			Slot: 0;
   764 			Slot: 0;
   747 			TimeAfterTurn: 0;
   765 			TimeAfterTurn: 0;
   748 			minAngle: 0;
   766 			minAngle: 0;
   749 			maxAngle: 0;
   767 			maxAngle: 0;
   750 			isDamaging: false;
   768 			isDamaging: false;
   760 							ammoprop_AltUse;
   778 							ammoprop_AltUse;
   761 					Count: AMMO_INFINITE;
   779 					Count: AMMO_INFINITE;
   762 					NumPerTurn: 0;
   780 					NumPerTurn: 0;
   763 					Timer: 3000;
   781 					Timer: 3000;
   764 					Pos: 0;
   782 					Pos: 0;
   765 					AmmoType: amGrenade);
   783 					AmmoType: amGrenade;
       
   784 					AttackVoice: sndCover);
   766 			Slot: 1;
   785 			Slot: 1;
   767 			TimeAfterTurn: 3000;
   786 			TimeAfterTurn: 3000;
   768 			minAngle: 0;
   787 			minAngle: 0;
   769 			maxAngle: 0;
   788 			maxAngle: 0;
   770 			isDamaging: true;
   789 			isDamaging: true;
   780 							ammoprop_AltUse;
   799 							ammoprop_AltUse;
   781 					Count: 5;
   800 					Count: 5;
   782 					NumPerTurn: 0;
   801 					NumPerTurn: 0;
   783 					Timer: 3000;
   802 					Timer: 3000;
   784 					Pos: 0;
   803 					Pos: 0;
   785 					AmmoType: amClusterBomb);
   804 					AmmoType: amClusterBomb;
       
   805 					AttackVoice: sndCover);
   786 			Slot: 1;
   806 			Slot: 1;
   787 			TimeAfterTurn: 3000;
   807 			TimeAfterTurn: 3000;
   788 			minAngle: 0;
   808 			minAngle: 0;
   789 			maxAngle: 0;
   809 			maxAngle: 0;
   790 			isDamaging: true;
   810 			isDamaging: true;
   799 							ammoprop_AltUse;
   819 							ammoprop_AltUse;
   800 					Count: AMMO_INFINITE;
   820 					Count: AMMO_INFINITE;
   801 					NumPerTurn: 0;
   821 					NumPerTurn: 0;
   802 					Timer: 0;
   822 					Timer: 0;
   803 					Pos: 0;
   823 					Pos: 0;
   804 					AmmoType: amBazooka);
   824 					AmmoType: amBazooka;
       
   825 					AttackVoice: sndNone);
   805 			Slot: 0;
   826 			Slot: 0;
   806 			TimeAfterTurn: 3000;
   827 			TimeAfterTurn: 3000;
   807 			minAngle: 0;
   828 			minAngle: 0;
   808 			maxAngle: 0;
   829 			maxAngle: 0;
   809 			isDamaging: true;
   830 			isDamaging: true;
   819 							ammoprop_DontHold;
   840 							ammoprop_DontHold;
   820 					Count: 2;
   841 					Count: 2;
   821 					NumPerTurn: 0;
   842 					NumPerTurn: 0;
   822 					Timer: 0;
   843 					Timer: 0;
   823 					Pos: 0;
   844 					Pos: 0;
   824 					AmmoType: amUFO);
   845 					AmmoType: amUFO;
       
   846 					AttackVoice: sndNone);
   825 			Slot: 0;
   847 			Slot: 0;
   826 			TimeAfterTurn: 3000;
   848 			TimeAfterTurn: 3000;
   827 			minAngle: 0;
   849 			minAngle: 0;
   828 			maxAngle: 0;
   850 			maxAngle: 0;
   829 			isDamaging: true;
   851 			isDamaging: true;
   837 			Ammo: (Propz: ammoprop_ForwMsgs;
   859 			Ammo: (Propz: ammoprop_ForwMsgs;
   838 					Count: AMMO_INFINITE;
   860 					Count: AMMO_INFINITE;
   839 					NumPerTurn: 1;
   861 					NumPerTurn: 1;
   840 					Timer: 0;
   862 					Timer: 0;
   841 					Pos: 0;
   863 					Pos: 0;
   842 					AmmoType: amShotgun);
   864 					AmmoType: amShotgun;
       
   865 					AttackVoice: sndNone);
   843 			Slot: 2;
   866 			Slot: 2;
   844 			TimeAfterTurn: 3000;
   867 			TimeAfterTurn: 3000;
   845 			minAngle: 0;
   868 			minAngle: 0;
   846 			maxAngle: 0;
   869 			maxAngle: 0;
   847 			isDamaging: true;
   870 			isDamaging: true;
   858 							ammoprop_DontHold;
   881 							ammoprop_DontHold;
   859 					Count: 2;
   882 					Count: 2;
   860 					NumPerTurn: 0;
   883 					NumPerTurn: 0;
   861 					Timer: 0;
   884 					Timer: 0;
   862 					Pos: 0;
   885 					Pos: 0;
   863 					AmmoType: amPickHammer);
   886 					AmmoType: amPickHammer;
       
   887 					AttackVoice: sndNone);
   864 			Slot: 6;
   888 			Slot: 6;
   865 			TimeAfterTurn: 0;
   889 			TimeAfterTurn: 0;
   866 			minAngle: 0;
   890 			minAngle: 0;
   867 			maxAngle: 0;
   891 			maxAngle: 0;
   868 			isDamaging: false;
   892 			isDamaging: false;
   877 							ammoprop_DontHold;
   901 							ammoprop_DontHold;
   878 					Count: AMMO_INFINITE;
   902 					Count: AMMO_INFINITE;
   879 					NumPerTurn: 0;
   903 					NumPerTurn: 0;
   880 					Timer: 0;
   904 					Timer: 0;
   881 					Pos: 0;
   905 					Pos: 0;
   882 					AmmoType: amSkip);
   906 					AmmoType: amSkip;
       
   907 					AttackVoice: sndNone);
   883 			Slot: 8;
   908 			Slot: 8;
   884 			TimeAfterTurn: 0;
   909 			TimeAfterTurn: 0;
   885 			minAngle: 0;
   910 			minAngle: 0;
   886 			maxAngle: 0;
   911 			maxAngle: 0;
   887 			isDamaging: false;
   912 			isDamaging: false;
   897 							ammoprop_AltAttack;
   922 							ammoprop_AltAttack;
   898 					Count: 5;
   923 					Count: 5;
   899 					NumPerTurn: 0;
   924 					NumPerTurn: 0;
   900 					Timer: 0;
   925 					Timer: 0;
   901 					Pos: 0;
   926 					Pos: 0;
   902 					AmmoType: amRope);
   927 					AmmoType: amRope;
       
   928 					AttackVoice: sndNone);
   903 			Slot: 7;
   929 			Slot: 7;
   904 			TimeAfterTurn: 0;
   930 			TimeAfterTurn: 0;
   905 			minAngle: 0;
   931 			minAngle: 0;
   906 			maxAngle: cMaxAngle div 2;
   932 			maxAngle: cMaxAngle div 2;
   907 			isDamaging: false;
   933 			isDamaging: false;
   918 							ammoprop_AltUse;
   944 							ammoprop_AltUse;
   919 					Count: 2;
   945 					Count: 2;
   920 					NumPerTurn: 0;
   946 					NumPerTurn: 0;
   921 					Timer: 0;
   947 					Timer: 0;
   922 					Pos: 0;
   948 					Pos: 0;
   923 					AmmoType: amMine);
   949 					AmmoType: amMine;
       
   950 					AttackVoice: sndLaugh);
   924 			Slot: 4;
   951 			Slot: 4;
   925 			TimeAfterTurn: 5000;
   952 			TimeAfterTurn: 5000;
   926 			minAngle: 0;
   953 			minAngle: 0;
   927 			maxAngle: 0;
   954 			maxAngle: 0;
   928 			isDamaging: true;
   955 			isDamaging: true;
   936 			Ammo: (Propz: 0;
   963 			Ammo: (Propz: 0;
   937 					Count: 3;
   964 					Count: 3;
   938 					NumPerTurn: 3;
   965 					NumPerTurn: 3;
   939 					Timer: 0;
   966 					Timer: 0;
   940 					Pos: 0;
   967 					Pos: 0;
   941 					AmmoType: amDEagle);
   968 					AmmoType: amDEagle;
       
   969 					AttackVoice: sndNone);
   942 			Slot: 2;
   970 			Slot: 2;
   943 			TimeAfterTurn: 3000;
   971 			TimeAfterTurn: 3000;
   944 			minAngle: 0;
   972 			minAngle: 0;
   945 			maxAngle: 0;
   973 			maxAngle: 0;
   946 			isDamaging: true;
   974 			isDamaging: true;
   957 							ammoprop_AltUse;
   985 							ammoprop_AltUse;
   958 					Count: 1;
   986 					Count: 1;
   959 					NumPerTurn: 0;
   987 					NumPerTurn: 0;
   960 					Timer: 0;
   988 					Timer: 0;
   961 					Pos: 0;
   989 					Pos: 0;
   962 					AmmoType: amDynamite);
   990 					AmmoType: amDynamite;
       
   991 					AttackVoice: sndLaugh);
   963 			Slot: 4;
   992 			Slot: 4;
   964 			TimeAfterTurn: 5000;
   993 			TimeAfterTurn: 5000;
   965 			minAngle: 0;
   994 			minAngle: 0;
   966 			maxAngle: 0;
   995 			maxAngle: 0;
   967 			isDamaging: true;
   996 			isDamaging: true;
   977 							ammoprop_AttackInMove;
  1006 							ammoprop_AttackInMove;
   978 					Count: AMMO_INFINITE;
  1007 					Count: AMMO_INFINITE;
   979 					NumPerTurn: 0;
  1008 					NumPerTurn: 0;
   980 					Timer: 0;
  1009 					Timer: 0;
   981 					Pos: 0;
  1010 					Pos: 0;
   982 					AmmoType: amFirePunch);
  1011 					AmmoType: amFirePunch;
       
  1012 					AttackVoice: sndNone);
   983 			Slot: 3;
  1013 			Slot: 3;
   984 			TimeAfterTurn: 3000;
  1014 			TimeAfterTurn: 3000;
   985 			MinAngle: 0;
  1015 			MinAngle: 0;
   986 			maxAngle: 0;
  1016 			maxAngle: 0;
   987 			isDamaging: true;
  1017 			isDamaging: true;
   995 			Ammo: (Propz: ammoprop_NoCrosshair;
  1025 			Ammo: (Propz: ammoprop_NoCrosshair;
   996 					Count: AMMO_INFINITE;
  1026 					Count: AMMO_INFINITE;
   997 					NumPerTurn: 0;
  1027 					NumPerTurn: 0;
   998 					Timer: 0;
  1028 					Timer: 0;
   999 					Pos: 0;
  1029 					Pos: 0;
  1000 					AmmoType: amWhip);
  1030 					AmmoType: amWhip;
       
  1031 					AttackVoice: sndNone);
  1001 			Slot: 3;
  1032 			Slot: 3;
  1002 			TimeAfterTurn: 3000;
  1033 			TimeAfterTurn: 3000;
  1003 			MinAngle: 0;
  1034 			MinAngle: 0;
  1004 			maxAngle: 0;
  1035 			maxAngle: 0;
  1005 			isDamaging: true;
  1036 			isDamaging: true;
  1013 			Ammo: (Propz: ammoprop_DontHold;
  1044 			Ammo: (Propz: ammoprop_DontHold;
  1014 					Count: 1;
  1045 					Count: 1;
  1015 					NumPerTurn: 0;
  1046 					NumPerTurn: 0;
  1016 					Timer: 0;
  1047 					Timer: 0;
  1017 					Pos: 0;
  1048 					Pos: 0;
  1018 					AmmoType: amBaseballBat);
  1049 					AmmoType: amBaseballBat;
       
  1050 					AttackVoice: sndNone);
  1019 			Slot: 3;
  1051 			Slot: 3;
  1020 			TimeAfterTurn: 5000;
  1052 			TimeAfterTurn: 5000;
  1021 			minAngle: 0;
  1053 			minAngle: 0;
  1022 			maxAngle: cMaxAngle div 2;
  1054 			maxAngle: cMaxAngle div 2;
  1023 			isDamaging: true;
  1055 			isDamaging: true;
  1035 							ammoprop_AltAttack;
  1067 							ammoprop_AltAttack;
  1036 					Count: 2;
  1068 					Count: 2;
  1037 					NumPerTurn: 0;
  1069 					NumPerTurn: 0;
  1038 					Timer: 0;
  1070 					Timer: 0;
  1039 					Pos: 0;
  1071 					Pos: 0;
  1040 					AmmoType: amParachute);
  1072 					AmmoType: amParachute;
       
  1073 					AttackVoice: sndNone);
  1041 			Slot: 7;
  1074 			Slot: 7;
  1042 			TimeAfterTurn: 0;
  1075 			TimeAfterTurn: 0;
  1043 			minAngle: 0;
  1076 			minAngle: 0;
  1044 			maxAngle: 0;
  1077 			maxAngle: 0;
  1045 			isDamaging: false;
  1078 			isDamaging: false;
  1057 							ammoprop_NotBorder;
  1090 							ammoprop_NotBorder;
  1058 					Count: 1;
  1091 					Count: 1;
  1059 					NumPerTurn: 0;
  1092 					NumPerTurn: 0;
  1060 					Timer: 0;
  1093 					Timer: 0;
  1061 					Pos: 0;
  1094 					Pos: 0;
  1062 					AmmoType: amAirAttack);
  1095 					AmmoType: amAirAttack;
       
  1096 					AttackVoice: sndIncoming);
  1063 			Slot: 5;
  1097 			Slot: 5;
  1064 			TimeAfterTurn: 0;
  1098 			TimeAfterTurn: 0;
  1065 			minAngle: 0;
  1099 			minAngle: 0;
  1066 			maxAngle: 0;
  1100 			maxAngle: 0;
  1067 			isDamaging: true;
  1101 			isDamaging: true;
  1079 							ammoprop_NotBorder;
  1113 							ammoprop_NotBorder;
  1080 					Count: 1;
  1114 					Count: 1;
  1081 					NumPerTurn: 0;
  1115 					NumPerTurn: 0;
  1082 					Timer: 0;
  1116 					Timer: 0;
  1083 					Pos: 0;
  1117 					Pos: 0;
  1084 					AmmoType: amMineStrike);
  1118 					AmmoType: amMineStrike;
       
  1119 					AttackVoice: sndNone);
  1085 			Slot: 5;
  1120 			Slot: 5;
  1086 			TimeAfterTurn: 0;
  1121 			TimeAfterTurn: 0;
  1087 			minAngle: 0;
  1122 			minAngle: 0;
  1088 			maxAngle: 0;
  1123 			maxAngle: 0;
  1089 			isDamaging: true;
  1124 			isDamaging: true;
  1097 			Ammo: (Propz: ammoprop_ForwMsgs;
  1132 			Ammo: (Propz: ammoprop_ForwMsgs;
  1098 					Count: 1;
  1133 					Count: 1;
  1099 					NumPerTurn: 0;
  1134 					NumPerTurn: 0;
  1100 					Timer: 0;
  1135 					Timer: 0;
  1101 					Pos: 0;
  1136 					Pos: 0;
  1102 					AmmoType: amBlowTorch);
  1137 					AmmoType: amBlowTorch;
       
  1138 					AttackVoice: sndNone);
  1103 			Slot: 6;
  1139 			Slot: 6;
  1104 			TimeAfterTurn: 3000;
  1140 			TimeAfterTurn: 3000;
  1105 			minAngle: 768;
  1141 			minAngle: 768;
  1106 			maxAngle: 1280;
  1142 			maxAngle: 1280;
  1107 			isDamaging: false;
  1143 			isDamaging: false;
  1117 							ammoprop_AttackingPut;
  1153 							ammoprop_AttackingPut;
  1118 					Count: 1;
  1154 					Count: 1;
  1119 					NumPerTurn: 0;
  1155 					NumPerTurn: 0;
  1120 					Timer: 0;
  1156 					Timer: 0;
  1121 					Pos: 0;
  1157 					Pos: 0;
  1122 					AmmoType: amGirder);
  1158 					AmmoType: amGirder;
       
  1159 					AttackVoice: sndNone);
  1123 			Slot: 6;
  1160 			Slot: 6;
  1124 			TimeAfterTurn: 3000;
  1161 			TimeAfterTurn: 3000;
  1125 			minAngle: 0;
  1162 			minAngle: 0;
  1126 			maxAngle: 0;
  1163 			maxAngle: 0;
  1127 			isDamaging: false;
  1164 			isDamaging: false;
  1139 							ammoprop_DontHold;
  1176 							ammoprop_DontHold;
  1140 					Count: 2;
  1177 					Count: 2;
  1141 					NumPerTurn: 0;
  1178 					NumPerTurn: 0;
  1142 					Timer: 0;
  1179 					Timer: 0;
  1143 					Pos: 0;
  1180 					Pos: 0;
  1144 					AmmoType: amTeleport);
  1181 					AmmoType: amTeleport;
       
  1182 					AttackVoice: sndNone);
  1145 			Slot: 7;
  1183 			Slot: 7;
  1146 			TimeAfterTurn: 0;
  1184 			TimeAfterTurn: 0;
  1147 			minAngle: 0;
  1185 			minAngle: 0;
  1148 			maxAngle: 0;
  1186 			maxAngle: 0;
  1149 			isDamaging: false;
  1187 			isDamaging: false;
  1159 							ammoprop_DontHold;
  1197 							ammoprop_DontHold;
  1160 					Count: 3;
  1198 					Count: 3;
  1161 					NumPerTurn: 0;
  1199 					NumPerTurn: 0;
  1162 					Timer: 0;
  1200 					Timer: 0;
  1163 					Pos: 0;
  1201 					Pos: 0;
  1164 					AmmoType: amSwitch);
  1202 					AmmoType: amSwitch;
       
  1203 					AttackVoice: sndNone);
  1165 			Slot: 8;
  1204 			Slot: 8;
  1166 			TimeAfterTurn: 0;
  1205 			TimeAfterTurn: 0;
  1167 			minAngle: 0;
  1206 			minAngle: 0;
  1168 			maxAngle: 0;
  1207 			maxAngle: 0;
  1169 			isDamaging: false;
  1208 			isDamaging: false;
  1177 			Ammo: (Propz: 0;
  1216 			Ammo: (Propz: 0;
  1178 					Count: 4;
  1217 					Count: 4;
  1179 					NumPerTurn: 0;
  1218 					NumPerTurn: 0;
  1180 					Timer: 0;
  1219 					Timer: 0;
  1181 					Pos: 0;
  1220 					Pos: 0;
  1182 					AmmoType: amMortar);
  1221 					AmmoType: amMortar;
       
  1222 					AttackVoice: sndNone);
  1183 			Slot: 1;
  1223 			Slot: 1;
  1184 			TimeAfterTurn: 3000;
  1224 			TimeAfterTurn: 3000;
  1185 			minAngle: 0;
  1225 			minAngle: 0;
  1186 			maxAngle: 0;
  1226 			maxAngle: 0;
  1187 			isDamaging: true;
  1227 			isDamaging: true;
  1197 							ammoprop_AttackInMove;
  1237 							ammoprop_AttackInMove;
  1198 					Count: 1;
  1238 					Count: 1;
  1199 					NumPerTurn: 0;
  1239 					NumPerTurn: 0;
  1200 					Timer: 0;
  1240 					Timer: 0;
  1201 					Pos: 0;
  1241 					Pos: 0;
  1202 					AmmoType: amKamikaze);
  1242 					AmmoType: amKamikaze;
       
  1243 					AttackVoice: sndNone);
  1203 			Slot: 3;
  1244 			Slot: 3;
  1204 			TimeAfterTurn: 0;
  1245 			TimeAfterTurn: 0;
  1205 			minAngle: 0;
  1246 			minAngle: 0;
  1206 			maxAngle: 0;
  1247 			maxAngle: 0;
  1207 			isDamaging: true;
  1248 			isDamaging: true;
  1217 							ammoprop_DontHold;
  1258 							ammoprop_DontHold;
  1218 					Count: 1;
  1259 					Count: 1;
  1219 					NumPerTurn: 0;
  1260 					NumPerTurn: 0;
  1220 					Timer: 0;
  1261 					Timer: 0;
  1221 					Pos: 0;
  1262 					Pos: 0;
  1222 					AmmoType: amCake);
  1263 					AmmoType: amCake;
       
  1264 					AttackVoice: sndLaugh);
  1223 			Slot: 4;
  1265 			Slot: 4;
  1224 			TimeAfterTurn: 0;
  1266 			TimeAfterTurn: 0;
  1225 			minAngle: 0;
  1267 			minAngle: 0;
  1226 			maxAngle: 0;
  1268 			maxAngle: 0;
  1227 			isDamaging: true;
  1269 			isDamaging: true;
  1235 			Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold;
  1277 			Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold;
  1236 					Count: 1;
  1278 					Count: 1;
  1237 					NumPerTurn: 0;
  1279 					NumPerTurn: 0;
  1238 					Timer: 0;
  1280 					Timer: 0;
  1239 					Pos: 0;
  1281 					Pos: 0;
  1240 					AmmoType: amSeduction);
  1282 					AmmoType: amSeduction;
       
  1283 					AttackVoice: sndNone);
  1241 			Slot: 2;
  1284 			Slot: 2;
  1242 			TimeAfterTurn: 0;
  1285 			TimeAfterTurn: 0;
  1243 			minAngle: 0;
  1286 			minAngle: 0;
  1244 			maxAngle: 0;
  1287 			maxAngle: 0;
  1245 			isDamaging: false;
  1288 			isDamaging: false;
  1255 							ammoprop_AltUse;
  1298 							ammoprop_AltUse;
  1256 					Count: 0;
  1299 					Count: 0;
  1257 					NumPerTurn: 0;
  1300 					NumPerTurn: 0;
  1258 					Timer: 3000;
  1301 					Timer: 3000;
  1259 					Pos: 0;
  1302 					Pos: 0;
  1260 					AmmoType: amWatermelon);
  1303 					AmmoType: amWatermelon;
       
  1304 					AttackVoice: sndMelon);
  1261 			Slot: 1;
  1305 			Slot: 1;
  1262 			TimeAfterTurn: 3000;
  1306 			TimeAfterTurn: 3000;
  1263 			minAngle: 0;
  1307 			minAngle: 0;
  1264 			maxAngle: 0;
  1308 			maxAngle: 0;
  1265 			isDamaging: true;
  1309 			isDamaging: true;
  1274 							ammoprop_AltUse;
  1318 							ammoprop_AltUse;
  1275 					Count: 0;
  1319 					Count: 0;
  1276 					NumPerTurn: 0;
  1320 					NumPerTurn: 0;
  1277 					Timer: 5000;
  1321 					Timer: 5000;
  1278 					Pos: 0;
  1322 					Pos: 0;
  1279 					AmmoType: amHellishBomb);
  1323 					AmmoType: amHellishBomb;
       
  1324 					AttackVoice: sndNone);
  1280 			Slot: 4;
  1325 			Slot: 4;
  1281 			TimeAfterTurn: 3000;
  1326 			TimeAfterTurn: 3000;
  1282 			minAngle: 0;
  1327 			minAngle: 0;
  1283 			maxAngle: 0;
  1328 			maxAngle: 0;
  1284 			isDamaging: true;
  1329 			isDamaging: true;
  1296 							ammoprop_NotBorder;
  1341 							ammoprop_NotBorder;
  1297 					Count: 1;
  1342 					Count: 1;
  1298 					NumPerTurn: 0;
  1343 					NumPerTurn: 0;
  1299 					Timer: 0;
  1344 					Timer: 0;
  1300 					Pos: 0;
  1345 					Pos: 0;
  1301 					AmmoType: amNapalm);
  1346 					AmmoType: amNapalm;
       
  1347 					AttackVoice: sndNone);
  1302 			Slot: 5;
  1348 			Slot: 5;
  1303 			TimeAfterTurn: 0;
  1349 			TimeAfterTurn: 0;
  1304 			minAngle: 0;
  1350 			minAngle: 0;
  1305 			maxAngle: 0;
  1351 			maxAngle: 0;
  1306 			isDamaging: true;
  1352 			isDamaging: true;
  1315 							ammoprop_AltUse;
  1361 							ammoprop_AltUse;
  1316 					Count: AMMO_INFINITE;
  1362 					Count: AMMO_INFINITE;
  1317 					NumPerTurn: 0;
  1363 					NumPerTurn: 0;
  1318 					Timer: 0;
  1364 					Timer: 0;
  1319 					Pos: 0;
  1365 					Pos: 0;
  1320 					AmmoType: amDrill);
  1366 					AmmoType: amDrill;
       
  1367 					AttackVoice: sndNone);
  1321 			Slot: 0;
  1368 			Slot: 0;
  1322 			TimeAfterTurn: 3000;
  1369 			TimeAfterTurn: 3000;
  1323 			minAngle: 0;
  1370 			minAngle: 0;
  1324 			maxAngle: 0;
  1371 			maxAngle: 0;
  1325 			isDamaging: true;
  1372 			isDamaging: true;
  1334 							 ammoprop_DontHold;
  1381 							 ammoprop_DontHold;
  1335 					Count: AMMO_INFINITE;
  1382 					Count: AMMO_INFINITE;
  1336 					NumPerTurn: 0;
  1383 					NumPerTurn: 0;
  1337 					Timer: 5001;
  1384 					Timer: 5001;
  1338 					Pos: 0;
  1385 					Pos: 0;
  1339 					AmmoType: amBallgun);
  1386 					AmmoType: amBallgun;
       
  1387 					AttackVoice: sndNone);
  1340 			Slot: 2;
  1388 			Slot: 2;
  1341 			TimeAfterTurn: 0;
  1389 			TimeAfterTurn: 0;
  1342 			minAngle: 0;
  1390 			minAngle: 0;
  1343 			maxAngle: 0;
  1391 			maxAngle: 0;
  1344 			isDamaging: true;
  1392 			isDamaging: true;
  1354 							ammoprop_AltAttack};
  1402 							ammoprop_AltAttack};
  1355 					Count: 1;
  1403 					Count: 1;
  1356 					NumPerTurn: 0;
  1404 					NumPerTurn: 0;
  1357 					Timer: 0;
  1405 					Timer: 0;
  1358 					Pos: 0;
  1406 					Pos: 0;
  1359 					AmmoType: amRCPlane);
  1407 					AmmoType: amRCPlane;
       
  1408 					AttackVoice: sndNone);
  1360 			Slot: 6;
  1409 			Slot: 6;
  1361 			TimeAfterTurn: 0;
  1410 			TimeAfterTurn: 0;
  1362 			minAngle: 0;
  1411 			minAngle: 0;
  1363 			maxAngle: 0;
  1412 			maxAngle: 0;
  1364 			isDamaging: true;
  1413 			isDamaging: true;
  1375                           ammoprop_Utility;
  1424                           ammoprop_Utility;
  1376 					Count: 1;
  1425 					Count: 1;
  1377 					NumPerTurn: 0;
  1426 					NumPerTurn: 0;
  1378 					Timer: 0;
  1427 					Timer: 0;
  1379 					Pos: 0;
  1428 					Pos: 0;
  1380 					AmmoType: amLowGravity);
  1429 					AmmoType: amLowGravity;
       
  1430 					AttackVoice: sndNone);
  1381 			Slot: 8;
  1431 			Slot: 8;
  1382 			TimeAfterTurn: 0;
  1432 			TimeAfterTurn: 0;
  1383 			minAngle: 0;
  1433 			minAngle: 0;
  1384 			maxAngle: 0;
  1434 			maxAngle: 0;
  1385 			isDamaging: false;
  1435 			isDamaging: false;
  1396                           ammoprop_Utility;
  1446                           ammoprop_Utility;
  1397 					Count: 1;
  1447 					Count: 1;
  1398 					NumPerTurn: 0;
  1448 					NumPerTurn: 0;
  1399 					Timer: 0;
  1449 					Timer: 0;
  1400 					Pos: 0;
  1450 					Pos: 0;
  1401 					AmmoType: amExtraDamage);
  1451 					AmmoType: amExtraDamage;
       
  1452 					AttackVoice: sndNone);
  1402 			Slot: 8;
  1453 			Slot: 8;
  1403 			TimeAfterTurn: 0;
  1454 			TimeAfterTurn: 0;
  1404 			minAngle: 0;
  1455 			minAngle: 0;
  1405 			maxAngle: 0;
  1456 			maxAngle: 0;
  1406 			isDamaging: false;
  1457 			isDamaging: false;
  1417                           ammoprop_Utility;
  1468                           ammoprop_Utility;
  1418 					Count: 1;
  1469 					Count: 1;
  1419 					NumPerTurn: 0;
  1470 					NumPerTurn: 0;
  1420 					Timer: 0;
  1471 					Timer: 0;
  1421 					Pos: 0;
  1472 					Pos: 0;
  1422 					AmmoType: amInvulnerable);
  1473 					AmmoType: amInvulnerable;
       
  1474 					AttackVoice: sndNone);
  1423 			Slot: 8;
  1475 			Slot: 8;
  1424 			TimeAfterTurn: 0;
  1476 			TimeAfterTurn: 0;
  1425 			minAngle: 0;
  1477 			minAngle: 0;
  1426 			maxAngle: 0;
  1478 			maxAngle: 0;
  1427 			isDamaging: false;
  1479 			isDamaging: false;
  1438                           ammoprop_Utility;
  1490                           ammoprop_Utility;
  1439 					Count: 1;
  1491 					Count: 1;
  1440 					NumPerTurn: 0;
  1492 					NumPerTurn: 0;
  1441 					Timer: 0;
  1493 					Timer: 0;
  1442 					Pos: 0;
  1494 					Pos: 0;
  1443 					AmmoType: amExtraTime);
  1495 					AmmoType: amExtraTime;
       
  1496 					AttackVoice: sndNone);
  1444 			Slot: 7;
  1497 			Slot: 7;
  1445 			TimeAfterTurn: 0;
  1498 			TimeAfterTurn: 0;
  1446 			minAngle: 0;
  1499 			minAngle: 0;
  1447 			maxAngle: 0;
  1500 			maxAngle: 0;
  1448 			isDamaging: false;
  1501 			isDamaging: false;
  1459                           ammoprop_Utility;
  1512                           ammoprop_Utility;
  1460 					Count: 1;
  1513 					Count: 1;
  1461 					NumPerTurn: 0;
  1514 					NumPerTurn: 0;
  1462 					Timer: 0;
  1515 					Timer: 0;
  1463 					Pos: 0;
  1516 					Pos: 0;
  1464 					AmmoType: amLaserSight);
  1517 					AmmoType: amLaserSight;
       
  1518 					AttackVoice: sndNone);
  1465 			Slot: 7;
  1519 			Slot: 7;
  1466 			TimeAfterTurn: 0;
  1520 			TimeAfterTurn: 0;
  1467 			minAngle: 0;
  1521 			minAngle: 0;
  1468 			maxAngle: 0;
  1522 			maxAngle: 0;
  1469 			isDamaging: false;
  1523 			isDamaging: false;
  1480                           ammoprop_Utility;
  1534                           ammoprop_Utility;
  1481 					Count: 1;
  1535 					Count: 1;
  1482 					NumPerTurn: 0;
  1536 					NumPerTurn: 0;
  1483 					Timer: 0;
  1537 					Timer: 0;
  1484 					Pos: 0;
  1538 					Pos: 0;
  1485 					AmmoType: amVampiric);
  1539 					AmmoType: amVampiric;
       
  1540 					AttackVoice: sndNone);
  1486 			Slot: 6;
  1541 			Slot: 6;
  1487 			TimeAfterTurn: 0;
  1542 			TimeAfterTurn: 0;
  1488 			minAngle: 0;
  1543 			minAngle: 0;
  1489 			maxAngle: 0;
  1544 			maxAngle: 0;
  1490 			isDamaging: false;
  1545 			isDamaging: false;
  1498 			Ammo: (Propz: 0;
  1553 			Ammo: (Propz: 0;
  1499 					Count: 2;
  1554 					Count: 2;
  1500 					NumPerTurn: 1;
  1555 					NumPerTurn: 1;
  1501 					Timer: 0;
  1556 					Timer: 0;
  1502 					Pos: 0;
  1557 					Pos: 0;
  1503 					AmmoType: amSniperRifle);
  1558 					AmmoType: amSniperRifle;
       
  1559 					AttackVoice: sndNone);
  1504 			Slot: 2;
  1560 			Slot: 2;
  1505 			TimeAfterTurn: 3000;
  1561 			TimeAfterTurn: 3000;
  1506 			minAngle: 0;
  1562 			minAngle: 0;
  1507 			maxAngle: 0;
  1563 			maxAngle: 0;
  1508 			isDamaging: true;
  1564 			isDamaging: true;
  1520 							ammoprop_AltAttack;
  1576 							ammoprop_AltAttack;
  1521 					Count: 1;
  1577 					Count: 1;
  1522 					NumPerTurn: 1;
  1578 					NumPerTurn: 1;
  1523 					Timer: 0;
  1579 					Timer: 0;
  1524 					Pos: 0;
  1580 					Pos: 0;
  1525 					AmmoType: amJetpack);
  1581 					AmmoType: amJetpack;
       
  1582 					AttackVoice: sndNone);
  1526 			Slot: 3;
  1583 			Slot: 3;
  1527 			TimeAfterTurn: 3000;
  1584 			TimeAfterTurn: 3000;
  1528 			minAngle: 0;
  1585 			minAngle: 0;
  1529 			maxAngle: 0;
  1586 			maxAngle: 0;
  1530 			isDamaging: false;
  1587 			isDamaging: false;
  1540 							ammoprop_AltUse;
  1597 							ammoprop_AltUse;
  1541 					Count: AMMO_INFINITE;
  1598 					Count: AMMO_INFINITE;
  1542 					NumPerTurn: 0;
  1599 					NumPerTurn: 0;
  1543 					Timer: 3000;
  1600 					Timer: 3000;
  1544 					Pos: 0;
  1601 					Pos: 0;
  1545 					AmmoType: amMolotov);
  1602 					AmmoType: amMolotov;
       
  1603 					AttackVoice: sndNone);
  1546 			Slot: 1;
  1604 			Slot: 1;
  1547 			TimeAfterTurn: 3000;
  1605 			TimeAfterTurn: 3000;
  1548 			minAngle: 0;
  1606 			minAngle: 0;
  1549 			maxAngle: 0;
  1607 			maxAngle: 0;
  1550 			isDamaging: true;
  1608 			isDamaging: true;