25 amtest_Rare = $00000001; // check only several positions |
25 amtest_Rare = $00000001; // check only several positions |
26 amtest_NoTarget = $00000002; // each pos, but no targetting |
26 amtest_NoTarget = $00000002; // each pos, but no targetting |
27 amtest_MultipleAttacks = $00000004; // test could result in multiple attacks, set AttacksNum |
27 amtest_MultipleAttacks = $00000004; // test could result in multiple attacks, set AttacksNum |
28 amtest_NoTrackFall = $00000008; // skip fall tracing. |
28 amtest_NoTrackFall = $00000008; // skip fall tracing. |
29 amtest_LaserSight = $00000010; // supports laser sighting |
29 amtest_LaserSight = $00000010; // supports laser sighting |
|
30 amtest_NoVampiric = $00000020; // don't use vampirism with this ammo |
|
31 amtest_NoInvulnerable = $00000040; // don't use invulnerable with this with ammo |
30 |
32 |
31 var windSpeed: real; |
33 var windSpeed: real; |
32 aiLaserSighting: boolean; |
34 aiLaserSighting: boolean; |
33 |
35 |
34 type TAttackParams = record |
36 type TAttackParams = record |
89 (proc: nil; flags: 0), // amRope |
91 (proc: nil; flags: 0), // amRope |
90 (proc: @TestMine; flags: amtest_NoTarget), // amMine |
92 (proc: @TestMine; flags: amtest_NoTarget), // amMine |
91 (proc: @TestDesertEagle; flags: amtest_MultipleAttacks or amtest_LaserSight), // amDEagle |
93 (proc: @TestDesertEagle; flags: amtest_MultipleAttacks or amtest_LaserSight), // amDEagle |
92 (proc: @TestDynamite; flags: amtest_NoTarget), // amDynamite |
94 (proc: @TestDynamite; flags: amtest_NoTarget), // amDynamite |
93 (proc: @TestFirePunch; flags: amtest_NoTarget), // amFirePunch |
95 (proc: @TestFirePunch; flags: amtest_NoTarget), // amFirePunch |
94 (proc: @TestWhip; flags: amtest_NoTarget), // amWhip |
96 (proc: @TestWhip; flags: amtest_NoTarget or amtest_NoInvulnerable), // amWhip |
95 (proc: @TestBaseballBat; flags: amtest_NoTarget), // amBaseballBat |
97 (proc: @TestBaseballBat; flags: amtest_NoTarget or amtest_NoInvulnerable), // amBaseballBat |
96 (proc: nil; flags: 0), // amParachute |
98 (proc: nil; flags: 0), // amParachute |
97 (proc: @TestAirAttack; flags: amtest_Rare), // amAirAttack |
99 (proc: @TestAirAttack; flags: amtest_Rare), // amAirAttack |
98 (proc: @TestMineStrike; flags: amtest_Rare), // amMineStrike |
100 (proc: @TestMineStrike; flags: amtest_Rare), // amMineStrike |
99 (proc: nil; flags: 0), // amBlowTorch |
101 (proc: nil; flags: 0), // amBlowTorch |
100 (proc: nil; flags: 0), // amGirder |
102 (proc: nil; flags: 0), // amGirder |
101 (proc: nil; flags: 0), // amTeleport |
103 (proc: nil; flags: 0), // amTeleport |
102 //(proc: @TestTeleport; flags: amtest_OnTurn), // amTeleport |
104 //(proc: @TestTeleport; flags: amtest_OnTurn), // amTeleport |
103 (proc: nil; flags: 0), // amSwitch |
105 (proc: nil; flags: 0), // amSwitch |
104 (proc: @TestMortar; flags: 0), // amMortar |
106 (proc: @TestMortar; flags: 0), // amMortar |
105 (proc: @TestKamikaze; flags: amtest_LaserSight), // amKamikaze |
107 (proc: @TestKamikaze; flags: amtest_LaserSight or amtest_NoInvulnerable or amtest_NoVampiric), // amKamikaze |
106 (proc: @TestCake; flags: amtest_Rare or amtest_NoTarget), // amCake |
108 (proc: @TestCake; flags: amtest_Rare or amtest_NoTarget), // amCake |
107 (proc: @TestSeduction; flags: amtest_NoTarget), // amSeduction |
109 (proc: @TestSeduction; flags: amtest_NoTarget), // amSeduction |
108 (proc: @TestWatermelon; flags: 0), // amWatermelon |
110 (proc: @TestWatermelon; flags: 0), // amWatermelon |
109 (proc: nil; flags: 0), // amHellishBomb |
111 (proc: nil; flags: 0), // amHellishBomb |
110 (proc: nil; flags: 0), // amNapalm |
112 (proc: nil; flags: 0), // amNapalm |
120 (proc: @TestSniperRifle; flags: 0), // amSniperRifle |
122 (proc: @TestSniperRifle; flags: 0), // amSniperRifle |
121 (proc: nil; flags: 0), // amJetpack |
123 (proc: nil; flags: 0), // amJetpack |
122 (proc: @TestMolotov; flags: 0), // amMolotov |
124 (proc: @TestMolotov; flags: 0), // amMolotov |
123 (proc: nil; flags: 0), // amBirdy |
125 (proc: nil; flags: 0), // amBirdy |
124 (proc: nil; flags: 0), // amPortalGun |
126 (proc: nil; flags: 0), // amPortalGun |
125 (proc: @TestPiano; flags: amtest_Rare), // amPiano |
127 (proc: @TestPiano; flags: amtest_Rare or amtest_NoInvulnerable or amtest_NoVampiric), // amPiano |
126 (proc: @TestGrenade; flags: amtest_NoTrackFall), // amGasBomb |
128 (proc: @TestGrenade; flags: amtest_NoTrackFall), // amGasBomb |
127 (proc: @TestShotgun; flags: 0), // amSineGun |
129 (proc: @TestShotgun; flags: 0), // amSineGun |
128 (proc: nil; flags: 0), // amFlamethrower |
130 (proc: nil; flags: 0), // amFlamethrower |
129 (proc: @TestSMine; flags: 0), // amSMine |
131 (proc: @TestSMine; flags: 0), // amSMine |
130 (proc: @TestHammer; flags: amtest_NoTarget), // amHammer |
132 (proc: @TestHammer; flags: amtest_NoTarget or amtest_NoInvulnerable), // amHammer |
131 (proc: nil; flags: 0), // amResurrector |
133 (proc: nil; flags: 0), // amResurrector |
132 (proc: @TestDrillStrike; flags: amtest_Rare), // amDrillStrike |
134 (proc: @TestDrillStrike; flags: amtest_Rare), // amDrillStrike |
133 (proc: nil; flags: 0), // amSnowball |
135 (proc: nil; flags: 0), // amSnowball |
134 (proc: nil; flags: 0), // amTardis |
136 (proc: nil; flags: 0), // amTardis |
135 (proc: nil; flags: 0), // amLandGun |
137 (proc: nil; flags: 0), // amLandGun |