DEADSOFTWARE

Add flamethrower weapon, item and ammo
[d2df-sdl.git] / src / game / g_weapons.pas
index bcbf4c16352e7c35a3f173e0fddf781f51760538..38d33e3b5c713244a7c978857c816d1d39d2f35a 100644 (file)
@@ -97,7 +97,7 @@ const
   WEAPON_PLASMA         = 7;
   WEAPON_BFG            = 8;
   WEAPON_SUPERPULEMET   = 9;
-  WEAPON_MEGAKASTET     = 10;
+  WEAPON_FLAMETHROWER   = 10;
   WEAPON_ZOMBY_PISTOL   = 20;
   WEAPON_IMP_FIRE       = 21;
   WEAPON_BSP_FIRE       = 22;
@@ -106,6 +106,9 @@ const
   WEAPON_MANCUB_FIRE    = 25;
   WEAPON_SKEL_FIRE      = 26;
 
+  WP_FIRST          = WEAPON_KASTET;
+  WP_LAST           = WEAPON_FLAMETHROWER;
+
 implementation
 
 uses
@@ -122,11 +125,11 @@ type
   end;
 
 const
-  SHOT_ROCKETLAUNCHER_WIDTH = 27;
-  SHOT_ROCKETLAUNCHER_HEIGHT = 12;
+  SHOT_ROCKETLAUNCHER_WIDTH = 14;
+  SHOT_ROCKETLAUNCHER_HEIGHT = 14;
 
-  SHOT_SKELFIRE_WIDTH = 32;
-  SHOT_SKELFIRE_HEIGHT = 16;
+  SHOT_SKELFIRE_WIDTH = 14;
+  SHOT_SKELFIRE_HEIGHT = 14;
 
   SHOT_PLASMA_WIDTH = 16;
   SHOT_PLASMA_HEIGHT = 16;
@@ -1205,7 +1208,7 @@ begin
     Obj.Rect.Width := SHOT_ROCKETLAUNCHER_WIDTH;
     Obj.Rect.Height := SHOT_ROCKETLAUNCHER_HEIGHT;
 
-    dx := IfThen(xd>x, -Obj.Rect.Width, 0);
+    dx := IfThen(xd > x, -Obj.Rect.Width, 0);
     dy := -(Obj.Rect.Height div 2);
     throw(find_id, x+dx, y+dy, xd+dx, yd+dy, 12);
 
@@ -1243,7 +1246,7 @@ begin
     Obj.Rect.Width := SHOT_SKELFIRE_WIDTH;
     Obj.Rect.Height := SHOT_SKELFIRE_HEIGHT;
 
-    dx := IfThen(xd>x, -Obj.Rect.Width, 0);
+    dx := -(Obj.Rect.Width div 2);
     dy := -(Obj.Rect.Height div 2);
     throw(find_id, x+dx, y+dy, xd+dx, yd+dy, 12);
 
@@ -1691,7 +1694,7 @@ begin
               begin
                 Anim := TAnimation.Create(_id, False, 3);
                 Anim.Alpha := 150;
-                g_GFX_OnceAnim(Obj.X-8+Random(9),
+                g_GFX_OnceAnim(Obj.X-14+Random(9),
                                Obj.Y+(Obj.Rect.Height div 2)-20+Random(9),
                                Anim, ONCEANIM_SMOKE);
                 Anim.Free();
@@ -1713,7 +1716,7 @@ begin
                   begin
                     Anim := TAnimation.Create(TextureID, False, 8);
                     Anim.Blending := False;
-                    g_GFX_OnceAnim((Obj.X+32)-32, (Obj.Y+8)-32, Anim);
+                    g_GFX_OnceAnim((Obj.X+32)-58, (Obj.Y+8)-36, Anim);
                     Anim.Free();
                   end;
                 end