3 * Iter Vehemens ad Necem (IVAN)
4 * Copyright (C) Timo Kiviluoto
5 * Released under the GNU General
8 * See LICENSING which should be included
9 * along with this file for more details
16 * This file contains SPOILERS, which might ruin your IVAN experience
17 * totally. Also, editing anything can DESTROY GAME BALANCE or CAUSE
18 * OBSCURE BUGS if you don't know what you're doing. So from here on,
19 * proceed at your own risk!
22 /* Numerical defines for other script files */
39 #define LIGHT_GRAY 46518
40 #define DARK_GRAY 21130
43 #define TRANSPARENT_COLOR 63519
74 #define THROW_ITEM_TYPES 5
96 #define ARMS (RIGHT_ARM | LEFT_ARM)
97 #define LEGS (RIGHT_LEG | LEFT_LEG)
152 #define ARTICLE_BIT 2
154 #define INDEFINE_BIT 4
157 #define ANY_CATEGORY 2147483647
183 GOOD
, /* it will be 1 */
217 #define MARTIAL_SKILL_CATEGORIES 3
218 #define WEAPON_SKILL_CATEGORIES 11
252 EFFECT_MAGIC_MUSHROOM
,
253 EFFECT_TRAIN_PERCEPTION
,
255 EFFECT_EVIL_WONDER_STAFF_VAPOUR
,
256 EFFECT_GOOD_WONDER_STAFF_VAPOUR
,
258 EFFECT_BLACK_UNICORN_FLESH
,
259 EFFECT_GRAY_UNICORN_FLESH
,
260 EFFECT_WHITE_UNICORN_FLESH
,
261 EFFECT_TELEPORT_CONTROL
,
263 EFFECT_OMMEL_CERUMEN
,
269 EFFECT_MUSTARD_GAS_LIQUID
,
278 /* CEM = Consume End Message */
292 CEM_BLACK_UNICORN_FLESH
,
293 CEM_GRAY_UNICORN_FLESH
,
294 CEM_WHITE_UNICORN_FLESH
,
302 /* HM = Hit Message */
319 /*#define SOLID_ID 4096*/
321 SOLID_ID
= (1 << 12),
354 GOLDEN_EAGLE_FEATHER
,
406 /*#define ORGANIC_ID (4096 * 2)*/
408 ORGANIC_ID
= (2 << 12),
429 /*#define GAS_ID (4096 * 3)*/
430 //#define GAS_ID (3 << 12)
439 EVIL_WONDER_STAFF_VAPOUR
,
440 GOOD_WONDER_STAFF_VAPOUR
,
448 /*#define LIQUID_ID (4096 * 4)*/
450 LIQUID_ID
= (4 << 12),
487 /*#define FLESH_ID (4096 * 5)*/
489 FLESH_ID
= (5 << 12),
532 MAGIC_MUSHROOM_FLESH
,
535 MUTANT_HEDGEHOG_FLESH
,
549 /*#define POWDER_ID (4096 * 6)*/
551 POWDER_ID
= (6 << 12),
559 /*#define IRON_ALLOY_ID (4096 * 7)*/
561 IRON_ALLOY_ID
= (7 << 12),
583 #define ATTRIBUTES 11
584 #define BASE_ATTRIBUTES 7
611 RIGHT_GAUNTLET_INDEX
,
648 LOST_RUBY_FLAMING_SWORD
,
662 ARMOR_OF_GREAT_HEALTH
,
674 WAND_OF_POLYMORPH
= 1,
677 WAND_OF_TELEPORTATION
,
680 WAND_OF_RESURRECTION
,
681 WAND_OF_DOOR_CREATION
,
682 WAND_OF_INVISIBILITY
,
698 CLOAK_OF_INVISIBILITY
= 1,
699 CLOAK_OF_FIRE_RESISTANCE
,
700 CLOAK_OF_ELECTRICITY_RESISTANCE
,
701 CLOAK_OF_ACID_RESISTANCE
,
702 CLOAK_OF_WERE_WOLF_FUR
,
710 BOOT_OF_STRENGTH
= 1,
717 GAUNTLET_OF_STRENGTH
= 1,
718 GAUNTLET_OF_DEXTERITY
,
723 RING_OF_FIRE_RESISTANCE
= 1,
724 RING_OF_POLYMORPH_CONTROL
,
725 RING_OF_INFRA_VISION
,
726 RING_OF_TELEPORTATION
,
727 RING_OF_TELEPORT_CONTROL
,
729 RING_OF_POISON_RESISTANCE
,
730 RING_OF_INVISIBILITY
,
731 RING_OF_ELECTRICITY_RESISTANCE
,
733 RING_OF_ACID_RESISTANCE
,
739 AMULET_OF_LIFE_SAVING
= 1,
749 HELM_OF_UNDERSTANDING
,
751 HELM_OF_ATTRACTIVITY
,
752 GOROVITS_FAMILY_GAS_MASK
,
757 BELT_OF_CARRYING
= 1,
779 IMPRISONED_FARMER
= 1,
806 #define GRAVE_KEEPER 5
851 IMPRISONED_HUNTER
= 1,
866 IMPRISONED_FEMALE
= 1,
867 /* 2 reserved for ATTNAM */
868 /* 3 reserved for NEW_ATTNAM */
874 ZOMBIE_OF_KHAZ_ZADM
= 1,
963 /* Least significant bit defines sex */
973 APPRENTICE_NECROMANCER
= 1,
975 IMPRISONED_NECROMANCER
= 9,
993 LIGHT_ASIAN_SIREN
= 1,
1042 BRICK_PRIMITIVE_PROPAGANDA
,
1092 #define SNOW_BOULDER 4
1094 #define STAIRS_UP 100
1095 #define STAIRS_DOWN 200
1096 #define OREE_LAIR_ENTRY 300
1097 #define OREE_LAIR_EXIT 400
1098 #define SUMO_ARENA_ENTRY 700
1099 #define SUMO_ARENA_EXIT 800
1100 #define KHARAZ_ARAD_ENTRY 900
1101 #define KHARAZ_ARAD_EXIT 1000
1102 #define WAYPOINT_DEEPER 1100
1103 #define WAYPOINT_SHALLOWER 1200
1104 #define XINROCH_TOMB_ENTRANCE 1300
1105 #define XINROCH_TOMB_EXIT 1400
1106 #define FOUNTAIN 65535
1127 #define WORLD_MAP 255
1129 #define DEFAULT_TEAM 255
1132 /* Hard-coded teams */
1133 // just add your own
to enum
1139 VALPURUS_ANGEL_TEAM
,
1152 XINROCH_TOMB_ENTRY_TEAM
,
1153 XINROCH_TOMB_NECRO_TEAM
,
1154 XINROCH_TOMB_KAMIKAZE_DWARF_TEAM
,
1161 #define NOT_WALKABLE 1
1162 #define HAS_CHARACTER 2
1164 #define NOT_IN_ROOM 8
1165 #define ATTACHABLE (16|NOT_IN_ROOM) /* overrides IN_ROOM */
1166 #define HAS_NO_OTERRAIN 32
1168 // dungeon indicies
; just add your own
to enum
1182 #define KHARAZ_ARAD_SHOP 127
1183 #define UNDER_WATER_TUNNEL_EXIT 128
1186 #define ALL_DUNGEONS 32767
1188 #define VESANA_LEVEL 2
1189 #define CRYSTAL_LEVEL 3
1190 #define SPIDER_LEVEL 4
1191 #define ENNER_BEAST_LEVEL 4
1192 #define ZOMBIE_LEVEL 5
1194 #define CITY_LEVEL 6
1195 #define FUSANGA_LEVEL 7
1196 #define IVAN_LEVEL 9
1197 #define DARK_LEVEL 10
1198 #define OREE_LAIR 14
1199 #define KHARAZ_ARAD 15
1200 #define PLANT_LEVEL 16
1201 /* Tomb Of Xinroch */
1202 #define DUAL_ENNER_BEAST_LEVEL 5
1203 #define NECRO_CHAMBER_LEVEL 6
1205 #define ALIENQUEEN_LEVEL 6
1208 #define IVAN_LEVEL 7
1209 #define DARK_LEVEL 8
1210 #define OREE_LAIR 12
1214 #define ROUND_CORNERS 2
1237 #define LAST_REAL_GOD MORTIFER
1239 #define MAX_PRICE 2147483647
1247 ROOM_BANANA_DROP_AREA
,
1275 BEAM_STYLES
, //WARNING
: MUST BE
3!
1280 #define RANDOM_COLOR 65536
1282 #define NO_LIMIT 65535
1285 #define IGNORE_BROKEN_PRICE 2
1287 #define N_LOCK_ID 1024
1288 #define S_LOCK_ID 16384
1289 #define LOCK_DELTA 1024
1291 #define BROKEN_LOCK S_LOCK_ID
1293 /* Normal lock types, which can be randomized */
1295 #define ROUND_LOCK (N_LOCK_ID + LOCK_DELTA * 1)
1296 #define SQUARE_LOCK (N_LOCK_ID + LOCK_DELTA * 2)
1297 #define TRIANGULAR_LOCK (N_LOCK_ID + LOCK_DELTA * 3)
1299 /* Special lock types, which must be generated in the script */
1301 #define HEXAGONAL_LOCK (S_LOCK_ID + LOCK_DELTA * 1)
1302 #define OCTAGONAL_LOCK (S_LOCK_ID + LOCK_DELTA * 2)
1303 #define HEART_SHAPED_LOCK (S_LOCK_ID + LOCK_DELTA * 3)
1304 #define PENTAGONAL_LOCK (S_LOCK_ID + LOCK_DELTA * 4)
1314 // not used for explicit terrain generation
in engine code
, but we need those for
"owterra.dat"
1326 #define NOT_RUSTED 0
1327 #define SLIGHTLY_RUSTED 1
1329 #define VERY_RUSTED 3
1331 #define SKIN_COLOR 1
1333 #define HAIR_COLOR 4
1335 #define TORSO_MAIN_COLOR 16
1336 #define BELT_COLOR 32
1337 #define BOOT_COLOR 64
1338 #define TORSO_SPECIAL_COLOR 128
1339 #define ARM_MAIN_COLOR 256
1340 #define GAUNTLET_COLOR 512
1341 #define ARM_SPECIAL_COLOR 1024
1342 #define LEG_MAIN_COLOR 2048
1343 #define LEG_SPECIAL_COLOR 4096
1344 #define CLOTH_COLOR (CAP_COLOR|TORSO_MAIN_COLOR|ARM_MAIN_COLOR|GAUNTLET_COLOR|LEG_MAIN_COLOR)
1346 /* contentscript<character> Flags */
1351 #define DEPENDS_ON_ATTRIBUTES 65535
1353 #define FOLLOW_PLAYER 1
1354 #define FLEE_FROM_ENEMIES 2
1355 #define DONT_CHANGE_EQUIPMENT 4
1356 #define DONT_CONSUME_ANYTHING_VALUABLE 8
1358 #define NO_PARAMETERS 255
1360 #define GRAY_FRACTAL 0
1361 #define RED_FRACTAL 1
1362 #define GREEN_FRACTAL 2
1363 #define BLUE_FRACTAL 3
1364 #define YELLOW_FRACTAL 4
1370 /*************************/
1371 /* Common DataBase flags */
1372 /*************************/
1375 #define IS_ABSTRACT 1
1376 #define HAS_SECONDARY_MATERIAL 2
1377 #define CREATE_DIVINE_CONFIGURATIONS 4
1378 #define CAN_BE_WISHED 8
1379 #define CAN_BE_DESTROYED 16
1380 #define IS_VALUABLE 32
1381 #define CAN_BE_MIRRORED 64
1385 #define USE_ADJECTIVE_AN 2
1386 #define NO_ARTICLE 4
1388 #define SHOW_MATERIAL 16
1390 /***************************/
1391 /* Material DataBase flags */
1392 /***************************/
1395 /* NameFlags (only USE_AN) */
1400 #define CAN_BE_TAILORED 4
1401 #define IS_SPARKLING 8
1403 #define IS_GOLEM_MATERIAL 32
1404 #define IS_BEVERAGE 64
1409 #define CAN_HAVE_PARASITE 4
1410 #define USE_MATERIAL_ATTRIBUTES 8
1411 #define CAN_REGENERATE 16
1412 #define IS_WARM_BLOODED 32
1414 /* InteractionFlags */
1416 #define CAN_EXPLODE 2
1417 #define CAN_DISSOLVE 4
1418 #define AFFECT_INSIDE 8
1419 #define EFFECT_IS_GOOD 16
1420 #define IS_AFFECTED_BY_MUSTARD_GAS 32
1422 /*************************/
1423 /* End of DataBase flags */
1424 /*************************/
1426 #define BONUS_LIVES 0
1430 #define NO_MONSTER_GENERATION 1
1432 #define NO_TAMING -1
1437 #define HAS_BLOCKED 1
1438 #define HAS_DODGED 2
1440 #define DID_NO_DAMAGE 4
1441 #define HAS_FAILED 5
1444 ; /* this line must be here */