--- a/hedgewars/uConsts.pas Thu Nov 23 19:48:39 2006 +0000
+++ b/hedgewars/uConsts.pas Thu Nov 23 20:10:42 2006 +0000
@@ -33,19 +33,19 @@
sprMineOn, sprCase, sprFAid, sprDynamite, sprPower,
sprClusterBomb, sprClusterParticle, sprFlame, sprHorizont,
sprSky, sprAMBorders, sprAMSlot, sprAMSlotName, sprAMAmmos,
- sprAMSlotKeys, sprAMSelection, sprFinger);
+ sprAMSlotKeys, sprAMSelection, sprFinger, sprAirBomb);
TGearType = (gtCloud, gtAmmo_Bomb, gtHedgehog, gtAmmo_Grenade, gtHealthTag,
gtGrave, gtUFO, gtShotgunShot, gtPickHammer, gtRope,
gtSmokeTrace, gtExplosion, gtMine, gtCase, gtDEagleShot, gtDynamite,
gtTeamHealthSorter, gtClusterBomb, gtCluster, gtShover, gtFlame,
gtFirePunch, gtATStartGame, gtATSmoothWindCh, gtATFinishGame,
- gtParachute);
+ gtParachute, gtAirAttack, gtAirBomb);
TGearsType = set of TGearType;
TSound = (sndGrenadeImpact, sndExplosion, sndThrowPowerUp, sndThrowRelease, sndSplash,
sndShotgunReload, sndShotgunFire, sndGraveImpact, sndMineTick);
TAmmoType = (amGrenade, amClusterBomb, amBazooka, amUFO, amShotgun, amPickHammer,
amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch,
- amBaseballBat, amParachute);
+ amBaseballBat, amParachute, amAirAttack);
THWFont = (fnt16, fntBig);
TCapGroup = (capgrpGameState, capgrpAmmoinfo, capgrpNetSay, capgrpVolume);
THHFont = record
@@ -77,7 +77,7 @@
msgGettingConfig = 'Getting game config...';
const
- cNetProtoVersion = 1;
+ cNetProtoVersion = 2;
MAXNAMELEN = 32;
@@ -134,7 +134,7 @@
gm_HJump = $00000080;
gm_Destroy= $00000100;
- cMaxSlotIndex = 7;
+ cMaxSlotIndex = 8;
cMaxSlotAmmoIndex = 1;
ammoprop_Timerable = $00000001;
@@ -144,6 +144,7 @@
ammoprop_AttackInFall = $00000010;
ammoprop_AttackInJump = $00000020;
ammoprop_NoCrosshair = $00000040;
+ ammoprop_AttackingPut = $00000080;
AMMO_INFINITE = High(LongWord);
EXPLAllDamageInRadius = $00000001;
@@ -249,7 +250,8 @@
(FileName: 'Ammos'; Path: ptAmmoMenu; Width: 32; Height: 32; hasAlpha: false),// sprAMAmmos
(FileName: 'SlotKeys'; Path: ptAmmoMenu; Width: 32; Height: 32; hasAlpha: false),// sprAMSlotKeys
(FileName: 'Selection'; Path: ptAmmoMenu; Width: 32; Height: 32; hasAlpha: false),// sprAMSelection
- (FileName: 'Finger'; Path: ptGraphics; Width: 32; Height: 48; hasAlpha: false) // sprFinger
+ (FileName: 'Finger'; Path: ptGraphics; Width: 32; Height: 48; hasAlpha: false),// sprFinger
+ (FileName: 'AirBomb'; Path: ptGraphics; Width: 32; Height: 32; hasAlpha: false) // sprAirBomb
);
Soundz: array[TSound] of record
FileName: String[31];
@@ -274,7 +276,8 @@
TimeAfterTurn: Longword;
end = (
(NameId: sidGrenade;
- Ammo: (Propz: ammoprop_Timerable or ammoprop_Power;
+ Ammo: (Propz: ammoprop_Timerable or
+ ammoprop_Power;
Count: AMMO_INFINITE;
NumPerTurn: 0;
Timer: 3000;
@@ -282,7 +285,8 @@
Slot: 1;
TimeAfterTurn: 3000),
(NameId: sidClusterBomb;
- Ammo: (Propz: ammoprop_Timerable or ammoprop_Power;
+ Ammo: (Propz: ammoprop_Timerable or
+ ammoprop_Power;
Count: 5;
NumPerTurn: 0;
Timer: 3000;
@@ -298,7 +302,8 @@
Slot: 0;
TimeAfterTurn: 3000),
(NameId: sidUFO;
- Ammo: (Propz: ammoprop_Power or ammoprop_NeedTarget;
+ Ammo: (Propz: ammoprop_Power or
+ ammoprop_NeedTarget;
Count: 2;
NumPerTurn: 0;
Timer: 0;
@@ -314,12 +319,15 @@
Slot: 2;
TimeAfterTurn: 3000),
(NameId: sidPickHammer;
- Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_AttackInFall or ammoprop_AttackInJump;
+ Ammo: (Propz: ammoprop_ForwMsgs or
+ ammoprop_AttackInFall or
+ ammoprop_AttackInJump or
+ ammoprop_NoCrosshair;
Count: 2;
NumPerTurn: 0;
Timer: 0;
AmmoType: amPickHammer);
- Slot: 5;
+ Slot: 6;
TimeAfterTurn: 0),
(NameId: sidSkip;
Ammo: (Propz: 0;
@@ -327,15 +335,17 @@
NumPerTurn: 0;
Timer: 0;
AmmoType: amSkip);
- Slot: 7;
+ Slot: 8;
TimeAfterTurn: 0),
(NameId: sidRope;
- Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_AttackInFall or ammoprop_AttackInJump;
+ Ammo: (Propz: ammoprop_ForwMsgs or
+ ammoprop_AttackInFall or
+ ammoprop_AttackInJump;
Count: 5;
NumPerTurn: 0;
Timer: 0;
AmmoType: amRope);
- Slot: 6;
+ Slot: 7;
TimeAfterTurn: 0),
(NameId: sidMine;
Ammo: (Propz: ammoprop_NoCrosshair;
@@ -354,7 +364,9 @@
Slot: 2;
TimeAfterTurn: 3000),
(NameId: sidDynamite;
- Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_AttackInJump or ammoprop_AttackInFall;
+ Ammo: (Propz: ammoprop_NoCrosshair or
+ ammoprop_AttackInJump or
+ ammoprop_AttackInFall;
Count: 1;
NumPerTurn: 0;
Timer: 0;
@@ -362,7 +374,10 @@
Slot: 4;
TimeAfterTurn: 5000),
(NameId: sidFirePunch;
- Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_ForwMsgs or ammoprop_AttackInJump or ammoprop_AttackInFall;
+ Ammo: (Propz: ammoprop_NoCrosshair or
+ ammoprop_ForwMsgs or
+ ammoprop_AttackInJump or
+ ammoprop_AttackInFall;
Count: AMMO_INFINITE;
NumPerTurn: 0;
Timer: 0;
@@ -378,12 +393,24 @@
Slot: 3;
TimeAfterTurn: 5000),
(NameId: sidParachute;
- Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_AttackInJump or ammoprop_AttackInFall;
+ Ammo: (Propz: ammoprop_ForwMsgs or
+ ammoprop_AttackInJump or
+ ammoprop_AttackInFall;
Count: 2;
NumPerTurn: 0;
Timer: 0;
AmmoType: amParachute);
- Slot: 6;
+ Slot: 7;
+ TimeAfterTurn: 0),
+ (NameId: sidAirAttack;
+ Ammo: (Propz: ammoprop_NoCrosshair or
+ ammoprop_NeedTarget or
+ ammoprop_AttackingPut;
+ Count: 3;
+ NumPerTurn: 0;
+ Timer: 0;
+ AmmoType: amAirAttack);
+ Slot: 5;
TimeAfterTurn: 0));
implementation