ScummVM API documentation
enchant.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
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 3 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, see <http://www.gnu.org/licenses/>.
19 *
20 *
21 * Based on the original sources
22 * Faery Tale II -- The Halls of the Dead
23 * (c) 1993-1996 The Wyrmkeep Entertainment Co.
24 */
25
26#ifndef SAGA2_ENCHANT_H
27#define SAGA2_ENCHANT_H
28
29namespace Saga2 {
30
31// Enchantments for actors
32enum actorEnchantments {
33
34 // Object-enchantments
35 kEnchNone = 0,
36 kEnchInvisible,
37
38 kEnchWarded,
39
40 // Actor skill boosters
41 kEnchAttackFast,
42 kEnchEnhanceBrawn,
43 kEnchEnhanceAgility,
44 kEnchEnhanceStealth,
45 kEnchEnhanceArmor,
46 kEnchEnhanceHitChance,
47
48 // Actor Immunities
49 kEnchImmunePhysical,
50 kEnchImmuneProjectile,
51 kEnchImmuneHandToHand,
52 kEnchImmuneMagicMissile,
53 kEnchImmuneFire,
54 kEnchImmuneFireMagic,
55 kEnchImmuneLava,
56 kEnchImmuneCold,
57 kEnchImmuneMental,
58 kEnchImmuneDirectMagic,
59 kEnchImmuneLifeDrain,
60
61 // Actor Movement enchantents
62 kEnchLandWalking,
63 kEnchDesolidified,
64 kEnchFloating,
65 kEnchFallSlowly,
66 kEnchLevitating,
67 kEnchWaterWalking,
68 kEnchFlying,
69
70 // Curses
71 kEnchBlind,
72 kEnchPanic,
73 kEnchParalyzed,
74 kEnchMoveFast,
75 kEnchMoveSlow,
76 kEnchAttackSlow,
77 kEnchAsleep,
78 kEnchReduceHitCchance,
79
80 // Changes display algorithms
81 kEnchSoulSight,
82 kEnchClairvoyant,
83 kEnchDetectPoison,
84
85 // Changes NPC behavior
86 kEnchHasNoSmell
87};
88
89//-----------------------------------------------------------------------
90// Iterates through all active enchantments on an object or actor
91
93 ObjectID _nextID; // Pointer to ID of next object.
94
95public:
96 GameObject *_baseObject, // Base obj we're searching for enchantments
97 *_wornObject; // An object 'worn' by the base object.
98
99 // Constructor
101
102 // Iteration function
103 ObjectID first(GameObject **obj);
104 ObjectID next(GameObject **obj);
105};
106
107//-----------------------------------------------------------------------
108// Global Enchantments
109
110enum worldEnchantments {
111 kWETimeStop = 0,
112 kWECount
113};
114
115} // end of namespace Saga2
116
117#endif
Definition: enchant.h:92
Definition: objects.h:118