DEADSOFTWARE

Add flamethrower weapon, item and ammo
[d2df-sdl.git] / src / shared / MAPDEF.pas
index 697d25339a9477b41b41cd7963b2830e2d4b6d1f..ef4eaf63675fdd137368ba9a01b2a85da2738146 100644 (file)
@@ -1,3 +1,19 @@
+(* Copyright (C)  DooM 2D:Forever Developers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *)
+{$MODE DELPHI}
 unit MAPDEF;
 
 {
@@ -76,8 +92,10 @@ const
   ITEM_HELMET                = 34;
   ITEM_JETPACK               = 35;
   ITEM_INVIS                 = 36;
+  ITEM_WEAPON_FLAMETHROWER   = 37;
+  ITEM_AMMO_FUELCAN          = 38;
 
-  ITEM_MAX                   = 36; // store the last item's id in here
+  ITEM_MAX                   = 38; // store the last item's id in here
                                    // use this in for loops
 
   ITEM_OPTION_ONLYDM = 1;
@@ -144,7 +162,8 @@ const
   TRIGGER_HEALTH          = 26;
   TRIGGER_SHOT            = 27;
   TRIGGER_EFFECT          = 28;
-  TRIGGER_MAX             = 28;
+  TRIGGER_SCRIPT          = 29;
+  TRIGGER_MAX             = 29;
 
   TRIGGER_SHOT_PISTOL  = 0;
   TRIGGER_SHOT_BULLET  = 1;
@@ -171,6 +190,11 @@ const
   TRIGGER_SHOT_TARGET_MONPLR = 5;
   TRIGGER_SHOT_TARGET_PLRMON = 6;
 
+  TRIGGER_SHOT_AIM_DEFAULT   = 0;
+  TRIGGER_SHOT_AIM_ALLMAP    = 1;
+  TRIGGER_SHOT_AIM_TRACE     = 2;
+  TRIGGER_SHOT_AIM_TRACEALL  = 3;
+
   TRIGGER_EFFECT_PARTICLE  = 0;
   TRIGGER_EFFECT_ANIMATION = 1;
 
@@ -208,7 +232,7 @@ const
   TEXTURE_SPECIAL_ACID2 = DWORD(-3);
   TEXTURE_NONE = DWORD(-4);
 
-Type
+type
   TPoint = packed record
     X, Y: LongInt;
   end;
@@ -288,13 +312,13 @@ Type
                              HealInterval: Word;
                              HealMax: Boolean;
                              HealSilent: Boolean);
-      TRIGGER_SHOT:         (ShotType: Byte;
+      TRIGGER_SHOT:         (ShotPos: TPoint;
+                             ShotType: Byte;
+                             ShotTarget: Byte;
                              ShotSound: Boolean;
+                             ShotAim: Byte;
                              ShotPanelID: Integer;
-                             ShotTarget: Byte;
                              ShotIntSight: Word;
-                             ShotAllMap: Boolean;
-                             ShotPos: TPoint;
                              ShotAngle: Word;
                              ShotWait: Word;
                              ShotAccuracy: Word;
@@ -314,8 +338,16 @@ Type
                              FXSpreadR: Byte;
                              FXSpreadU: Byte;
                              FXSpreadD: Byte);
+      TRIGGER_SCRIPT:       (SCRProc: Char64;
+                             SCRArg: Integer);
   end;
 
+{$INCLUDE mapstructsizes.inc}
+
 implementation
 
+uses SysUtils;
+
+{$INCLUDE mapstructio.inc}
+
 end.