hedgewars/uConsts.pas
changeset 3384 7eb4707d43f0
parent 3383 45a73be4d8c1
child 3387 733f4001b8b9
--- a/hedgewars/uConsts.pas	Fri Apr 30 23:39:32 2010 +0000
+++ b/hedgewars/uConsts.pas	Sat May 01 05:15:16 2010 +0000
@@ -72,8 +72,9 @@
             sprHandGrenade, sprHandMelon, sprHandMortar, sprHandSkip, sprHandCluster,
             sprHandDynamite, sprHandHellish, sprHandMine, sprHandSeduction, sprHandVamp,
             sprBigExplosion, sprSmokeRing, sprBeeTrace, sprEgg, sprTargetBee, sprHandBee, 
-            sprFeather, sprPiano);
-
+            sprFeather, sprPiano, sprHandSineGun);
+    
+    // Gears that interact with other Gears and/or Land
     TGearType = (gtAmmo_Bomb, gtHedgehog, gtAmmo_Grenade, gtHealthTag, // 3
             gtGrave, gtBee, gtShotgunShot, gtPickHammer, gtRope, // 8
             gtSmokeTrace, gtExplosion, gtMine, gtCase, gtDEagleShot, gtDynamite, // 14
@@ -84,8 +85,9 @@
             gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 37
             gtHellishBomb, gtEvilTrace, gtWaterUp, gtDrill, gtBallGun, gtBall,gtRCPlane,
             gtSniperRifleShot, gtJetpack, gtMolotov, gtExplosives, gtBirdy, 
-            gtBigExplosion, gtEgg, gtPortal, gtPortalGun, gtPiano, gtGasBomb);
+            gtBigExplosion, gtEgg, gtPortal, gtPortalGun, gtPiano, gtGasBomb, gtSineGunShot);
 
+    // Gears that are _only_ of visual nature (e.g. background stuff, visual effects, speechbubbles, etc.)
     TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire,
             vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble,
             vgtSteam, vgtAmmo, vgtSmoke, vgtSmokeWhite, vgtHealth, vgtShell,
@@ -114,7 +116,7 @@
             sndMelonImpact, sndDroplet1, sndDroplet2, sndDroplet3, sndEggBreak, sndDrillRocket,
             sndPoisonCough, sndPoisonMoan, sndBirdyLay, sndWhistle, sndBeeWater,
             sndPiano0, sndPiano1, sndPiano2, sndPiano3, sndPiano4, sndPiano5, sndPiano6, sndPiano7, sndPiano8,
-            sndSkip);
+            sndSkip, sndSineGun);
 
     TAmmoType  = (amNothing, amGrenade, amClusterBomb, amBazooka, amBee, amShotgun, amPickHammer,
             amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch, amWhip,
@@ -123,7 +125,7 @@
             amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun,
             amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime,
             amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov, amBirdy, amPortalGun,
-            amPiano, amGasBomb);
+            amPiano, amGasBomb, amSineGun);
 
     THWFont = (fnt16, fntBig, fntSmall, CJKfnt16, CJKfntBig, CJKfntSmall);
 
@@ -739,7 +741,9 @@
             (FileName:  'Feather'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
             Width:  15; Height: 25; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprFeather
             (FileName:  'Piano'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
-            Width:  128; Height: 128; imageWidth: 0; imageHeight: 0; saveSurf: false) // sprPiano
+            Width:  128; Height: 128; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprPiano
+            (FileName:  'amSineGun'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
+            Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false) // sprHandSineGun
             );
 
     Wavez: array [TWave] of record
@@ -860,7 +864,8 @@
             (FileName:                  'egg.ogg'; Path: ptSounds),// sndPiano6
             (FileName:                  'egg.ogg'; Path: ptSounds),// sndPiano7
             (FileName:                  'egg.ogg'; Path: ptSounds),// sndPiano8
-            (FileName:                 'skip.ogg'; Path: ptSounds) // sndSkip
+            (FileName:                 'skip.ogg'; Path: ptSounds),// sndSkip
+            (FileName:          'shotgunfire.ogg'; Path: ptSounds) // sndSineGun
             );
 
     Ammoz: array [TAmmoType] of record
@@ -896,6 +901,8 @@
             SkipTurns: 9999;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Grenade
             (NameId: sidGrenade;
             NameTex: nil;
             Probability: 0;
@@ -916,6 +923,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// ClusterBomb
             (NameId: sidClusterBomb;
             NameTex: nil;
             Probability: 100;
@@ -936,6 +945,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Bazooka
             (NameId: sidBazooka;
             NameTex: nil;
             Probability: 0;
@@ -956,6 +967,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Bee
             (NameId: sidBee;
             NameTex: nil;
             Probability: 100;
@@ -976,6 +989,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Shotgun
             (NameId: sidShotgun;
             NameTex: nil;
             Probability: 0;
@@ -996,6 +1011,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// PickHammer
             (NameId: sidPickHammer;
             NameTex: nil;
             Probability: 0;
@@ -1016,6 +1033,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Skip
             (NameId: sidSkip;
             NameTex: nil;
             Probability: 0;
@@ -1036,6 +1055,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Rope
             (NameId: sidRope;
             NameTex: nil;
             Probability: 100;
@@ -1060,6 +1081,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Mine
             (NameId: sidMine;
             NameTex: nil;
             Probability: 100;
@@ -1080,6 +1103,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// DEagle
             (NameId: sidDEagle;
             NameTex: nil;
             Probability: 20;
@@ -1100,6 +1125,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Dynamite
             (NameId: sidDynamite;
             NameTex: nil;
             Probability: 100;
@@ -1120,6 +1147,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// FirePunch
             (NameId: sidFirePunch;
             NameTex: nil;
             Probability: 0;
@@ -1140,6 +1169,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Whip
             (NameId: sidWhip;
             NameTex: nil;
             Probability: 0;
@@ -1160,6 +1191,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// BaseballBat
             (NameId: sidBaseballBat;
             NameTex: nil;
             Probability: 100;
@@ -1180,6 +1213,8 @@
             SkipTurns: 2;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Parachute
             (NameId: sidParachute;
             NameTex: nil;
             Probability: 100;
@@ -1206,6 +1241,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// AirAttack
             (NameId: sidAirAttack;
             NameTex: nil;
             Probability: 100;
@@ -1230,6 +1267,8 @@
             SkipTurns: 5;
             PosCount: 2;
             PosSprite: sprAmAirplane),
+
+// MineStrike
             (NameId: sidMineStrike;
             NameTex: nil;
             Probability: 200;
@@ -1254,6 +1293,8 @@
             SkipTurns: 5;
             PosCount: 2;
             PosSprite: sprAmAirplane),
+
+// BlowTorch
             (NameId: sidBlowTorch;
             NameTex: nil;
             Probability: 100;
@@ -1274,6 +1315,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Girder
             (NameId: sidGirder;
             NameTex: nil;
             Probability: 150;
@@ -1298,6 +1341,8 @@
             SkipTurns: 0;
             PosCount: 8;
             PosSprite: sprAmGirder),
+
+// Teleport
             (NameId: sidTeleport;
             NameTex: nil;
             Probability: 200;
@@ -1323,6 +1368,8 @@
             SkipTurns: 0;
             PosCount: 2;
             PosSprite: sprAmTeleport),
+
+// Switch
             (NameId: sidSwitch;
             NameTex: nil;
             Probability: 100;
@@ -1347,6 +1394,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Mortar
             (NameId: sidMortar;
             NameTex: nil;
             Probability: 100;
@@ -1367,6 +1416,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Kamikaze
             (NameId: sidKamikaze;
             NameTex: nil;
             Probability: 100;
@@ -1387,6 +1438,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Cake
             (NameId: sidCake;
             NameTex: nil;
             Probability: 100;
@@ -1407,6 +1460,8 @@
             SkipTurns: 4;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Seduction
             (NameId: sidSeduction;
             NameTex: nil;
             Probability: 100;
@@ -1427,6 +1482,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Watermelon
             (NameId: sidWatermelon;
             NameTex: nil;
             Probability: 400;
@@ -1447,6 +1504,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// HellishBomb ("Hellish Hand-Grenade")
             (NameId: sidHellishBomb;
             NameTex: nil;
             Probability: 400;
@@ -1467,6 +1526,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Napalm
             (NameId: sidNapalm;
             NameTex: nil;
             Probability: 100;
@@ -1491,6 +1552,8 @@
             SkipTurns: 7;
             PosCount: 2;
             PosSprite: sprAmAirplane),
+
+// Drill ("Drill Rocket")
             (NameId: sidDrill;
             NameTex: nil;
             Probability: 300;
@@ -1511,6 +1574,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprDrill),
+
+// Ballgun
             (NameId: sidBallgun;
             NameTex: nil;
             Probability: 400;
@@ -1531,6 +1596,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// RC-Plane
             (NameId: sidRCPlane;
             NameTex: nil;
             Probability: 200;
@@ -1553,6 +1620,8 @@
             SkipTurns: 4;
             PosCount: 1;
             PosSprite: sprWater),
+
+// LowGravity
             (NameId: sidLowGravity;
             NameTex: nil;
             Probability: 20;
@@ -1578,6 +1647,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// ExtraDamage
             (NameId: sidExtraDamage;
             NameTex: nil;
             Probability: 15;
@@ -1603,6 +1674,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Invulnerable
             (NameId: sidInvulnerable;
             NameTex: nil;
             Probability: 20;
@@ -1628,6 +1701,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// ExtraTime
             (NameId: sidExtraTime;
             NameTex: nil;
             Probability: 30;
@@ -1653,6 +1728,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// LaserSight
             (NameId: sidLaserSight;
             NameTex: nil;
             Probability: 15;
@@ -1678,6 +1755,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Vampiric
             (NameId: sidVampiric;
             NameTex: nil;
             Probability: 15;
@@ -1703,6 +1782,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// SniperRifle
             (NameId: sidSniperRifle;
             NameTex: nil;
             Probability: 20;
@@ -1723,6 +1804,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Jetpack ("Flying Saucer")
             (NameId: sidJetpack;
             NameTex: nil;
             Probability: 20;
@@ -1749,6 +1832,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Molotov
             (NameId: sidMolotov;
             NameTex: nil;
             Probability: 0;
@@ -1769,6 +1854,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Birdy
             (NameId: sidBirdy;
             NameTex: nil;
             Probability: 20;
@@ -1791,6 +1878,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// PortalGun
             (NameId: sidPortalGun;
             NameTex: nil;
             Probability: 20;
@@ -1813,6 +1902,8 @@
             SkipTurns: 0;
             PosCount: 1;
             PosSprite: sprWater),
+
+// Piano
             (NameId: sidPiano;
             NameTex: nil;
             Probability: 100;
@@ -1837,6 +1928,8 @@
             SkipTurns: 7;
             PosCount: 1;
             PosSprite: sprWater),
+
+// GasBomb
             (NameId: sidGasBomb;
             NameTex: nil;
             Probability: 0;
@@ -1856,6 +1949,28 @@
             isDamaging: true;
             SkipTurns: 0;
             PosCount: 1;
+            PosSprite: sprWater),
+            
+// SineGun
+            (NameId: sidSineGun;
+            NameTex: nil;
+            Probability: 20;
+            NumberInCase: 2;
+            Ammo: (Propz: ammoprop_AttackInMove;
+                Count: 1;
+                InitialCount: 1;
+                NumPerTurn: 0;
+                Timer: 0;
+                Pos: 0;
+                AmmoType: amSineGun;
+                AttackVoice: sndNone);
+            Slot: 2;
+            TimeAfterTurn: 0;
+            minAngle: 0;
+            maxAngle: 0;
+            isDamaging: true;
+            SkipTurns: 0;
+            PosCount: 1;
             PosSprite: sprWater)
             );