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 olterrain data loaded during game startup */
28 /* Obligatory: BitmapPos */
29 UsesLongArticle
= false
;
31 UsesLongAdjectiveArticle
= false
;
32 /* Obligatory: NameSingular */
33 /* NameSingular + "s" by default: NamePlural */
36 /* Obligatory: MainMaterialConfig */
37 /* Obligatory: SecondaryMaterialConfig */
38 /* Obligatory if multiple material configurations defined: MaterialConfigChances */
39 IsAbstract
= true
; /* This is false by default and does not inherit! */
40 OKVisualEffects
= NONE
;
44 SitMessage
= "You sit for some time. Nothing happens.";
45 /* Obligatory: DigMessage */
46 CanBeDestroyed
= false
;
51 CreateDivineConfigurations
= false
;
54 IsSafeToCreateDoor
= false
;
56 CreateLockConfigurations
= false
; /* Can't be overridden by Configs */
57 Walkability
= ANY_MOVE
;
58 IsAlwaysTransparent
= true
;
59 UseBorderTiles
= false
;
60 BorderTilePriority
= 0;
61 HasSecondaryMaterial
= false
;
62 CreateWindowConfigurations
= false
;
63 ShowThingsUnder
= true
;
70 CanBeDestroyed
= true
;
71 IsSafeToCreateDoor
= true
;
72 Walkability
= ETHEREAL
;
73 IsAlwaysTransparent
= false
;
74 BorderTilePriority
= 100;
75 CreateWindowConfigurations
= true
;
76 MaterialColorC
= rgb16
(140, 96, 48);
77 MaterialColorD
= rgb16
(180, 180, 255);
78 ShowThingsUnder
= false
;
79 LeftOverItems
== NaturalMaterialForm
{ MainMaterial
= 0 { Volume
= 500:1500; } Times
= 1:4; }
84 DigMessage
= "The wall is pretty hard, but you still manage to go through it.";
85 MainMaterialConfig
== GRANITE
;
86 NameSingular
= "wall";
89 WindowBitmapPos
= 96, 256;
92 Config BRICK_PROPAGANDA
;
94 DigMessage
= "You break the wall down despite the uncomfortable feeling of being constantly watched.";
95 MainMaterialConfig
== GRANITE
;
96 NameSingular
= "wall";
97 PostFix
= "and a poster with a picture of high priest Petrus, the ruler of the Attnamese Empire";
104 DigMessage
= "The piece of wall is very old and shabby. You dig it with ease.";
105 MainMaterialConfig
== GRANITE
;
106 UsesLongAdjectiveArticle
= true
;
108 NameSingular
= "wall";
113 Config BRICK_PRIMITIVE
;
115 DigMessage
= "The piece of wall is very old and shabby. You dig it with ease.";
116 MainMaterialConfig
== BALSA_WOOD
;
117 Adjective
= "primitive";
118 NameSingular
= "wall";
121 WindowBitmapPos
= 80, 256;
124 Config BRICK_PRIMITIVE_PROPAGANDA
;
126 DigMessage
= "You break the wall down despite the uncomfortable feeling of being constantly watched.";
127 MainMaterialConfig
== BALSA_WOOD
;
128 Adjective
= "primitive";
129 NameSingular
= "wall";
130 PostFix
= "and a poster with a picture of high priest Petrus, the ruler of the Attnamese Empire";
137 OKVisualEffects
= MIRROR|FLIP|ROTATE
;
138 DigMessage
= "The ground is hard to dig.";
139 MainMaterialConfig
== GRANITE
;
140 MaterialColorB
= rgb16
(56, 56, 56);
141 NameSingular
= "wall";
148 OKVisualEffects
= MIRROR|FLIP|ROTATE
;
149 DigMessage
= "The ice is pretty easy to dig.";
150 MainMaterialConfig
== ICE
;
151 NameSingular
= "wall";
157 OKVisualEffects
= MIRROR|FLIP
;
158 DigMessage
= "The ground is easy to dig.";
159 MainMaterialConfig
== GRANITE
;
160 MaterialColorB
= rgb16
(56, 56, 56);
161 Adjective
= "broken";
162 NameSingular
= "wall";
171 LeftOverItems
== NaturalMaterialForm
{ MainMaterial
= 0 { Volume
= 500:1500; } Times
= 1:3; }
175 OKVisualEffects
= MIRROR
;
176 CanBeDestroyed
= true
;
177 DigMessage
= "You chop the tree down.";
178 MainMaterialConfig
== PINE_WOOD
;
179 ShowMaterial
= false
;
180 MaterialColorB
= rgb16
(32, 100, 32);
181 NameSingular
= "pine";
188 OKVisualEffects
= MIRROR
;
189 CanBeDestroyed
= true
;
190 DigMessage
= "You chop the tree down.";
191 MainMaterialConfig
== FIR_WOOD
;
192 ShowMaterial
= false
;
193 MaterialColorB
= rgb16
(32, 100, 32);
194 NameSingular
= "fir";
197 IsAlwaysTransparent
= false
;
202 OKVisualEffects
= MIRROR
;
203 CanBeDestroyed
= true
;
204 DigMessage
= "You chop the tree down.";
205 MainMaterialConfig
== BALSA_WOOD
;
206 ShowMaterial
= false
;
207 MaterialColorB
= rgb16
(32, 80, 32);
208 NameSingular
= "palm";
211 IsAlwaysTransparent = false;*/
216 CanBeDestroyed
= true
;
217 DigMessage
= "You ruthlessly chop the beautiful tree down.";
218 MainMaterialConfig
== GOLD
;
219 ShowMaterial
= false
;
220 MaterialColorB
= rgb16
(224, 224, 0);
222 NameSingular
= "tree";
231 DigMessage
= "You can't force yourself to ruin this wonderful carpet.";
232 MainMaterialConfig
== FABRIC
;
233 NameSingular
= "carpet";
239 CanBeDestroyed
= true
;
240 DigMessage
= "The destroy the couch and find some valuables dropped by its owners.";
241 MainMaterialConfig
== FABRIC
;
242 NameSingular
= "couch";
245 MaterialColorB
= rgb16
(200, 200, 0);
246 SitMessage
= "The couch is extremely soft and confortable. You relax well.";
247 RestMessage
= "You rest well on the soft sofa.";
249 LeftOverItems
== stone
{ Times
= 1:2; }
254 CanBeDestroyed
= true
;
255 DigMessage
= "You smash the bed into pieces.";
256 MainMaterialConfig
== FABRIC
;
257 Adjective
= "luxurious";
258 NameSingular
= "double bed";
260 MaterialColorB
= rgb16
(200, 200, 0);
261 ShowMaterial
= false
;
263 SitMessage
= "The beautiful bed is very soft. You get a feeling it's not meant for your kind of people.";
264 RestMessage
= "You lay yourself on the confortable bed.";
271 DigMessage
= "The water splashes a bit."; /* Only correct if over a water pool */
272 MainMaterialConfig
== MARBLE
;
279 DigMessage
= "The water splashes a bit."; /* Only correct if over a water pool */
280 MainMaterialConfig
== MARBLE
;
287 OKVisualEffects
= MIRROR
;
288 CanBeDestroyed
= true
;
289 DigMessage
= "You chop the tree down.";
290 MainMaterialConfig
== PINE_WOOD
;
291 ShowMaterial
= false
;
292 MaterialColorB
= rgb16
(220, 220, 220);
293 NameSingular
= "pine";
294 PostFix
= "covered with snow";
301 OKVisualEffects
= MIRROR
;
302 CanBeDestroyed
= true
;
303 DigMessage
= "You chop the tree down.";
304 MainMaterialConfig
== FIR_WOOD
;
305 ShowMaterial
= false
;
306 MaterialColorB
= rgb16
(220, 220, 220);
307 NameSingular
= "fir";
308 PostFix
= "covered with snow";
311 IsAlwaysTransparent
= false
;
316 OKVisualEffects
= MIRROR
;
317 CanBeDestroyed
= true
;
318 DigMessage
= "You break the anvil.";
319 MainMaterialConfig
== IRON
;
320 NameSingular
= "anvil";
323 LeftOverItems
== NaturalMaterialForm
{ MainMaterial
= 0 { Volume
= 250:750; } Times
= 1:3; }
328 OKVisualEffects
= MIRROR
;
329 CanBeDestroyed
= true
;
330 DigMessage
= "You shatter the crystal into pieces.";
331 NameSingular
= "shard";
334 MainMaterialConfig
= { 3, BLUE_CRYSTAL
, PURPLE_CRYSTAL
, GREEN_CRYSTAL
; }
335 MaterialConfigChances
= { 3, 100, 100, 100; }
336 LeftOverItems
== NaturalMaterialForm
{ MainMaterial
= 0 { Volume
= 100:200; } Times
= 1:3; }
341 OKVisualEffects
= MIRROR
;
342 CanBeDestroyed
= true
;
343 DigMessage
= "You chop the cactus down.";
344 MainMaterialConfig
== PLANT_FIBER
;
345 ShowMaterial
= false
;
346 MaterialColorB
= rgb16
(32, 100, 32);
347 NameSingular
= "cactus";
348 NamePlural
= "cactuses";
356 CanBeDestroyed
= true
;
357 DigMessage
= "You ruthlessly chop the tree down.";
358 MainMaterialConfig
== OAK_WOOD
;
359 ShowMaterial
= false
;
360 MaterialColorB
= rgb16
(0, 150, 0);
361 NameSingular
= "oak tree";
365 IsAlwaysTransparent
= false
;
370 CanBeDestroyed
= true
;
371 DigMessage
= "You chop the tree down.";
372 MainMaterialConfig
== BIRCH_WOOD
;
373 ShowMaterial
= false
;
374 MaterialColorB
= rgb16
(125, 160, 80);
375 MaterialColorC
= rgb16
(220, 220, 220);
376 NameSingular
= "birch tree";
383 CanBeDestroyed
= true
;
384 DigMessage
= "You ruthlessly chop the tree down.";
385 MainMaterialConfig
== TEAK_WOOD
;
386 ShowMaterial
= false
;
387 MaterialColorB
= rgb16
(0, 220, 0);
388 NameSingular
= "teak tree";
395 CanBeDestroyed
= true
;
396 DigMessage
= "You chop the dwarf birch down.";
397 MainMaterialConfig
== BIRCH_WOOD
;
398 ShowMaterial
= false
;
399 MaterialColorB
= rgb16
(125, 160, 80);
400 MaterialColorC
= rgb16
(220, 220, 220);
401 NameSingular
= "dwarf birch";
407 CanBeDestroyed
= true
;
408 DigMessage
= "You chop the dwarf birch down.";
409 MainMaterialConfig
== BIRCH_WOOD
;
410 ShowMaterial
= false
;
411 MaterialColorB
= rgb16
(125, 160, 80);
412 MaterialColorC
= rgb16
(220, 220, 220);
413 NameSingular
= "dwarf birch";
419 door
/* olterrain-> */
421 DigMessage
= "You break the door.";
422 CanBeDestroyed
= true
;
423 MainMaterialConfig
== FIR_WOOD
;
424 NameSingular
= "door";
426 OpenBitmapPos
= 0, 48;
427 /* PostFix depends on LockType */
429 CreateLockConfigurations
= true
;
430 LeftOverItems
== NaturalMaterialForm
{ MainMaterial
= 0 { Volume
= 250:750; } Times
= 1:3; }
431 IsAlwaysTransparent
= false
;
435 IsAlwaysTransparent
= true
;
440 NameSingular
= "door";
441 Adjective
= "very secret";
445 stairs
/* olterrain-> */
448 DigMessage
= "The stairs are too hard to dig.";
449 MainMaterialConfig
== GRANITE
;
450 MaterialColorB
= rgb16
(160, 64, 0);
451 NameSingular
= "stairway";
462 PostFix
= "downwards";
466 Config SUMO_ARENA_ENTRY
;
468 PostFix
= "downwards";
472 Config SUMO_ARENA_EXIT
;
479 Config KHARAZ_ARAD_ENTRY
;
481 PostFix
= "downwards";
485 Config KHARAZ_ARAD_EXIT
;
493 portal
/* stairs -> */
495 DigMessage
= "The portal is magically protected from your feeble attack.";
496 MainMaterialConfig
== GOLD
;
497 MaterialColorB
= rgb16
(200, 0, 0);
498 NameSingular
= "magic portal";
499 AttachedGod
= MORTIFER
;
500 /* BitmapPos overridden */
502 /* Config specialities hard-coded */
504 Config OREE_LAIR_ENTRY
; { }
505 Config OREE_LAIR_EXIT
; { }
506 Config DARK_LEVEL
; { }
509 altar
/* olterrain-> */
511 DigMessage
= "An invisible wall stops your feeble attempt.";
512 MainMaterialConfig
== GRANITE
;
513 UsesLongArticle
= true
;
514 NameSingular
= "altar";
516 /* PostFix depends on Config */
517 CreateDivineConfigurations
= true
;
521 throne
/* olterrain-> */
523 DigMessage
= "The throne resists.";
524 MainMaterialConfig
== GOLD
;
525 MaterialColorB
= rgb16
(200, 200, 0);
526 NameSingular
= "throne";
528 AttachedGod
= VALPURUS
;
531 olterraincontainer
/* olterrain->decoration-> */
534 Walkability
= ETHEREAL
;
535 DigMessage
= "You smash this piece of furniture into pieces.";
539 CanBeDestroyed
= true
;
540 MainMaterialConfig
== FIR_WOOD
;
541 NameSingular
= "bookcase";
543 SitMessage
= "The bookcase is very unconfortable to sit on.";
544 StorageVolume
= 100000;
546 AttachedGod
= SOPHOS
;
547 LeftOverItems
== NaturalMaterialForm
{ MainMaterial
= 0 { Volume
= 250:750; } Times
= 1:2; }
550 Config CHEST_OF_DRAWERS
;
552 CanBeDestroyed
= true
;
553 MainMaterialConfig
== FIR_WOOD
;
554 NameSingular
= "chest of drawers";
556 SitMessage
= "The chest of drawers is very unconfortable to sit on.";
557 StorageVolume
= 50000;
559 AttachedGod
= SOPHOS
;
560 LeftOverItems
== NaturalMaterialForm
{ MainMaterial
= 0 { Volume
= 500:1000; } Times
= 1:2; }
564 CanBeDestroyed
= true
;
565 MainMaterialConfig
== FIR_WOOD
;
568 SitMessage
= "The shelf is very unconfortable to sit on.";
569 StorageVolume
= 80000;
571 AttachedGod
= ATAVUS
;
572 LeftOverItems
== NaturalMaterialForm
{ MainMaterial
= 0 { Volume
= 250:750; } Times
= 1:2; }
573 MaterialColorB
= rgb16
(200,200,200);
577 fountain
/* olterrain-> */
579 DigMessage
= "The water splashes a bit."; /* Wrong if SecondaryMaterial != WATER. */
580 MainMaterialConfig
== MARBLE
;
581 SecondaryMaterialConfig
== WATER
;
582 /* Uses ContainerPostFix() */
583 /* Adjective depends on being dried out or not */
584 NameSingular
= "fountain";
585 /* BitmapPos depends on being dried out or not */
586 HasSecondaryMaterial
= true
;
589 brokendoor
/* olterrain->door-> */
591 DigMessage
= "You destroy the broken door.";
592 Adjective
= "broken";
594 CreateLockConfigurations
= true
;
597 IsAlwaysTransparent
= true
;
603 NameSingular
= "door";
604 Adjective
= "broken very secret";
608 boulder
/* olterrain-> */
610 DigMessage
= "You smash the boulder to tiny bits.";
611 MainMaterialConfig
== GRANITE
;
612 NameSingular
= "boulder";
613 SitMessage
= "The boulder is rather hard to sit on.";
614 CanBeDestroyed
= true
;
617 LeftOverItems
== NaturalMaterialForm
{ MainMaterial
= 0 { Volume
= 500:1500; } Times
= 1:3; }
631 BitmapPos
= 64, 304; /* Should be checked */
634 IsAlwaysTransparent
= false
;
635 Walkability
= ETHEREAL
;
640 MaterialColorB
= rgb16
(220, 220, 220);
642 Adjective
= "snow-covered";
648 DigMessage
= "You smash the sign to tiny bits.";
649 MainMaterialConfig
== BALSA_WOOD
;
650 MaterialColorB
= rgb16
(200,200,200);
651 /* Uses own postfix */
652 NameSingular
= "sign";
654 SitMessage
= "You feel very weird sitting on the sign.";
655 CanBeDestroyed
= true
;
656 MaterialColorB
= rgb16
(48, 48, 48);
658 LeftOverItems
== NaturalMaterialForm
{ MainMaterial
= 0 { Volume
= 250:500; } }
663 CanBeDestroyed
= true
;
664 IsSafeToCreateDoor
= true
;
665 Walkability
= ETHEREAL
;
666 IsAlwaysTransparent
= false
;
667 OKVisualEffects
= MIRROR|FLIP|ROTATE
;
668 DigMessage
= "The ground is fairly easy to dig.";
669 MainMaterialConfig
== MORAINE
;
670 UsesLongArticle
= true
;
671 NameSingular
= "earth";
674 BorderTilePriority
= 10;
675 UseBorderTiles
= true
;
676 ShowThingsUnder
= false
;
677 LeftOverItems
== NaturalMaterialForm
{ MainMaterial
= 0 { Volume
= 500:1500; } Times
= 1:3; }
683 DigMessage
= "The portal is magically protected from your feeble attack.";
684 MainMaterialConfig
== SILVER
;
685 MaterialColorB
= rgb16
(0, 0, 90);
686 NameSingular
= "magic portal";
687 AttachedGod
= MORTIFER
;
690 coffin
/* olterrain->decoration->olterraincontainer */
692 Walkability
= ETHEREAL
;
693 DigMessage
= "You smash the coffin into pieces. The spirits are not happy.";
694 CanBeDestroyed
= true
;
695 MainMaterialConfig
== FIR_WOOD
;
696 NameSingular
= "coffin";
698 SitMessage
= "The coffin is cold to sit on.";
699 StorageVolume
= 100000;
700 AttachedGod
= MORTIFER
;
701 LeftOverItems
== NaturalMaterialForm
{ MainMaterial
= 0 { Volume
= 250:750; } Times
= 1:2; }
706 CanBeDestroyed
= true
;
707 IsSafeToCreateDoor
= true
;
708 Walkability
= ETHEREAL
;
709 IsAlwaysTransparent
= true
;
710 BorderTilePriority
= 100;
711 CreateWindowConfigurations
= false
;
712 MaterialColorC
= rgb16
(140, 96, 48);
713 MaterialColorD
= rgb16
(180, 180, 255);
714 ShowThingsUnder
= true
;
715 LeftOverItems
== NaturalMaterialForm
{ MainMaterial
= 0 { Volume
= 500:1500; } Times
= 1:4; }
718 DigMessage
= "You break the bars.";
719 MainMaterialConfig
== IRON
;
720 NameSingular
= "bars";
723 ShowThingsUnder
= true
;
724 AttachedGod
= LEGIFER
;
725 Config BROKEN_BARWALL
;
728 Adjective
= "broken";
729 Walkability
= ANY_MOVE
;
735 LeftOverItems
== NaturalMaterialForm
{ MainMaterial
= 0 { Volume
= 500:1500; } Times
= 1:3; } CanBeDestroyed
= true
;
736 DigMessage
= "The iron maiden falls into pieces.";
737 MainMaterialConfig
== IRON
;
738 ShowMaterial
= false
;
739 NameSingular
= "iron maiden";