1 /*************************************************************************** 2 * Copyright (C) 2009 by Andrey Afletdinov <fheroes2@gmail.com> * 3 * * 4 * Part of the Free Heroes2 Engine: * 5 * http://sourceforge.net/projects/fheroes2 * 6 * * 7 * This program is free software; you can redistribute it and/or modify * 8 * it under the terms of the GNU General Public License as published by * 9 * the Free Software Foundation; either version 2 of the License, or * 10 * (at your option) any later version. * 11 * * 12 * This program is distributed in the hope that it will be useful, * 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 15 * GNU General Public License for more details. * 16 * * 17 * You should have received a copy of the GNU General Public License * 18 * along with this program; if not, write to the * 19 * Free Software Foundation, Inc., * 20 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * 21 ***************************************************************************/ 22 23 #ifndef H2M82_H 24 #define H2M82_H 25 26 #include "mp2.h" 27 #include "types.h" 28 #include <cstddef> 29 30 #define LOOPXX_COUNT 28 31 32 namespace M82 33 { 34 enum 35 { 36 AELMATTK, 37 AELMKILL, 38 AELMMOVE, 39 AELMWNCE, 40 ANTIMAGK, 41 ARCHATTK, 42 ARCHKILL, 43 ARCHMOVE, 44 ARCHSHOT, 45 ARCHWNCE, 46 ARMGEDN, 47 BADLUCK, 48 BADMRLE, 49 BERZERK, 50 BLESS, 51 BLIND, 52 BLOODLUS, 53 BOARATTK, 54 BOARKILL, 55 BOARMOVE, 56 BOARWNCE, 57 BONEATTK, 58 BONEKILL, 59 BONEMOVE, 60 BONEWNCE, 61 BUILDTWN, 62 CATSND00, 63 CATSND02, 64 CAVLATTK, 65 CAVLKILL, 66 CAVLMOVE, 67 CAVLWNCE, 68 CHAINLTE, 69 CNTRATTK, 70 CNTRKILL, 71 CNTRMOVE, 72 CNTRSHOT, 73 CNTRWNCE, 74 COLDRAY, 75 COLDRING, 76 CURE, 77 CURSE, 78 CYCLATTK, 79 CYCLKILL, 80 CYCLMOVE, 81 CYCLWNCE, 82 DIGSOUND, 83 DIPMAGK, 84 DISRUPTR, 85 DRAWBRG, 86 DRGNATTK, 87 DRGNKILL, 88 DRGNMOVE, 89 DRGNSLAY, 90 DRGNWNCE, 91 DRUIATTK, 92 DRUIKILL, 93 DRUIMOVE, 94 DRUISHOT, 95 DRUIWNCE, 96 DWRFATTK, 97 DWRFKILL, 98 DWRFMOVE, 99 DWRFWNCE, 100 EELMATTK, 101 EELMKILL, 102 EELMMOVE, 103 EELMWNCE, 104 ELF_ATTK, 105 ELF_KILL, 106 ELF_MOVE, 107 ELF_SHOT, 108 ELF_WNCE, 109 ERTHQUAK, 110 EXPERNCE, 111 FELMATTK, 112 FELMKILL, 113 FELMMOVE, 114 FELMWNCE, 115 FIREBALL, 116 GARGATTK, 117 GARGKILL, 118 GARGMOVE, 119 GARGWNCE, 120 GBLNATTK, 121 GBLNKILL, 122 GBLNMOVE, 123 GBLNWNCE, 124 GENIATTK, 125 GENIKILL, 126 GENIMOVE, 127 GENIWNCE, 128 GHSTATTK, 129 GHSTKILL, 130 GHSTMOVE, 131 GHSTWNCE, 132 GOLMATTK, 133 GOLMKILL, 134 GOLMMOVE, 135 GOLMWNCE, 136 GOODLUCK, 137 GOODMRLE, 138 GRIFATTK, 139 GRIFKILL, 140 GRIFMOVE, 141 GRIFWNCE, 142 H2MINE, 143 HALFATTK, 144 HALFKILL, 145 HALFMOVE, 146 HALFSHOT, 147 HALFWNCE, 148 HASTE, 149 HYDRATTK, 150 HYDRKILL, 151 HYDRMOVE, 152 HYDRWNCE, 153 HYPNOTIZ, 154 KEEPSHOT, 155 KILLFADE, 156 LICHATTK, 157 LICHEXPL, 158 LICHKILL, 159 LICHMOVE, 160 LICHSHOT, 161 LICHWNCE, 162 LIGHTBLT, 163 LOOP0000, 164 LOOP0001, 165 LOOP0002, 166 LOOP0003, 167 LOOP0004, 168 LOOP0005, 169 LOOP0006, 170 LOOP0007, 171 LOOP0008, 172 LOOP0009, 173 LOOP0010, 174 LOOP0011, 175 LOOP0012, 176 LOOP0013, 177 LOOP0014, 178 LOOP0015, 179 LOOP0016, 180 LOOP0017, 181 LOOP0018, 182 LOOP0019, 183 LOOP0020, 184 LOOP0021, 185 LOOP0022, 186 LOOP0023, 187 LOOP0024, 188 LOOP0025, 189 LOOP0026, 190 LOOP0027, 191 MAGCAROW, 192 MAGEATTK, 193 MAGEKILL, 194 MAGEMOVE, 195 MAGESHOT, 196 MAGEWNCE, 197 MASSBLES, 198 MASSCURE, 199 MASSCURS, 200 MASSHAST, 201 MASSSHIE, 202 MASSSLOW, 203 MEDSATTK, 204 MEDSKILL, 205 MEDSMOVE, 206 MEDSWNCE, 207 METEOR, 208 MINOATTK, 209 MINOKILL, 210 MINOMOVE, 211 MINOWNCE, 212 MIRRORIM, 213 MNRDEATH, 214 MUMYATTK, 215 MUMYKILL, 216 MUMYMOVE, 217 MUMYWNCE, 218 NMADATTK, 219 NMADKILL, 220 NMADMOVE, 221 NMADWNCE, 222 NWHEROLV, 223 OGREATTK, 224 OGREKILL, 225 OGREMOVE, 226 OGREWNCE, 227 ORC_ATTK, 228 ORC_KILL, 229 ORC_MOVE, 230 ORC_SHOT, 231 ORC_WNCE, 232 PARALIZE, 233 PHOEATTK, 234 PHOEKILL, 235 PHOEMOVE, 236 PHOEWNCE, 237 PICKUP01, 238 PICKUP02, 239 PICKUP03, 240 PICKUP04, 241 PICKUP05, 242 PICKUP06, 243 PICKUP07, 244 PIKEATTK, 245 PIKEKILL, 246 PIKEMOVE, 247 PIKEWNCE, 248 PLDNATTK, 249 PLDNKILL, 250 PLDNMOVE, 251 PLDNWNCE, 252 PREBATTL, 253 PROTECT, 254 PSNTATTK, 255 PSNTKILL, 256 PSNTMOVE, 257 PSNTWNCE, 258 RESURECT, 259 RESURTRU, 260 ROC_ATTK, 261 ROC_KILL, 262 ROC_MOVE, 263 ROC_WNCE, 264 ROGUATTK, 265 ROGUKILL, 266 ROGUMOVE, 267 ROGUWNCE, 268 RSBRYFZL, 269 SHIELD, 270 SKELATTK, 271 SKELKILL, 272 SKELMOVE, 273 SKELWNCE, 274 SLOW, 275 SPRTATTK, 276 SPRTKILL, 277 SPRTMOVE, 278 SPRTWNCE, 279 STELSKIN, 280 STONESKI, 281 STONSKIN, 282 STORM, 283 SUMNELM, 284 SWDMATTK, 285 SWDMKILL, 286 SWDMMOVE, 287 SWDMWNCE, 288 TELEIN, 289 TELPTIN, 290 TELPTOUT, 291 TITNATTK, 292 TITNKILL, 293 TITNMOVE, 294 TITNSHOT, 295 TITNWNCE, 296 TREASURE, 297 TRLLATTK, 298 TRLLKILL, 299 TRLLMOVE, 300 TRLLSHOT, 301 TRLLWNCE, 302 UNICATTK, 303 UNICKILL, 304 UNICMOVE, 305 UNICWNCE, 306 VAMPATTK, 307 VAMPEXT1, 308 VAMPEXT2, 309 VAMPKILL, 310 VAMPMOVE, 311 VAMPWNCE, 312 WELMATTK, 313 WELMKILL, 314 WELMMOVE, 315 WELMWNCE, 316 WOLFATTK, 317 WOLFKILL, 318 WOLFMOVE, 319 WOLFWNCE, 320 WSND00, 321 WSND01, 322 WSND02, 323 WSND03, 324 WSND04, 325 WSND05, 326 WSND06, 327 WSND10, 328 WSND11, 329 WSND12, 330 WSND13, 331 WSND14, 332 WSND15, 333 WSND16, 334 WSND20, 335 WSND21, 336 WSND22, 337 WSND23, 338 WSND24, 339 WSND25, 340 WSND26, 341 ZOMBATTK, 342 ZOMBKILL, 343 ZOMBMOVE, 344 ZOMBWNCE, 345 346 UNKNOWN 347 }; 348 349 const char * GetString( int ); 350 int FromSpell( int ); 351 u32 GetIndexLOOP00XXFromObject( const MP2::MapObjectType objectType ); 352 int GetLOOP00XX( const size_t index ); 353 } 354 355 #endif 356