Major code reorganization
This commit only updates the XCode project for the changes. A later commit each will update it for scons and MSVC. A few actual changes are mixed in: - Add a prefix header for a handful of common definitions - Moved current_cursor into the Cursor class as a static member - Removed the make_cursor_sword and make_cursor_watch functions - Include tests in the All target - Remove redundant -l flags for Common and Common-Party (since they're included in the Link phases anyway)
This commit is contained in:
89
src/scenario/terrain_abilities.hpp
Normal file
89
src/scenario/terrain_abilities.hpp
Normal file
@@ -0,0 +1,89 @@
|
||||
//
|
||||
// terrain_abilities.hpp
|
||||
// BoE
|
||||
//
|
||||
// Created by Celtic Minstrel on 17-04-13.
|
||||
//
|
||||
//
|
||||
|
||||
#ifndef BoE_TERRAIN_ABILITIES_HPP
|
||||
#define BoE_TERRAIN_ABILITIES_HPP
|
||||
|
||||
enum class eTerSpec {
|
||||
NONE = 0,
|
||||
CHANGE_WHEN_STEP_ON = 1,
|
||||
DAMAGING = 2, // formerly "fire damage"
|
||||
BRIDGE = 3, // new; formerly "cold damage"
|
||||
BED = 4, // new; formerly "magic damage"
|
||||
DANGEROUS = 5, // formerly "poison land"
|
||||
UNUSED1 = 6, // formerly "disease land"
|
||||
CRUMBLING = 7,
|
||||
LOCKABLE = 8,
|
||||
UNLOCKABLE = 9,
|
||||
UNUSED2 = 10, // formerly "unlockable + bashable"
|
||||
IS_A_SIGN = 11,
|
||||
CALL_SPECIAL = 12, // formerly "call local special"
|
||||
UNUSED3 = 13, // formerly "call scenario special"
|
||||
IS_A_CONTAINER = 14,
|
||||
WILDERNESS_CAVE = 15,
|
||||
WILDERNESS_SURFACE = 16, // formerly "conveyor north"
|
||||
WATERFALL_CAVE = 17, // formerly "conveyor east"
|
||||
WATERFALL_SURFACE = 18, // formerly "conveyor south"
|
||||
CONVEYOR = 19, // formerly "conveyor west"
|
||||
BLOCKED_TO_MONSTERS = 20,
|
||||
TOWN_ENTRANCE = 21,
|
||||
CHANGE_WHEN_USED = 22,
|
||||
CALL_SPECIAL_WHEN_USED = 23,
|
||||
// 1. Change when step on (What to change to, number of sound, Unused)
|
||||
// 2. Damaging terrain; can't rest here (Amount of damage done, multiplier, damage type)
|
||||
// 3. Bridge - if the party boats over it, they get the option to land. (Unused, Unused, Unused)
|
||||
// 4. Bed - change party graphic when they stand on this space
|
||||
// 5. Dangerous land; can't rest here; percentage chance may be 0 (Strength, Percentage chance, status type)
|
||||
// 6. Reserved
|
||||
// 7. Crumbling terrain (Terrain to change to, strength?, destroyed by what - quickfire, shatter/move mountains, or both)
|
||||
// 8. Lockable terrain (Terrain to change to when locked, Unused, Unused)
|
||||
// 9. Unlockable terrain (Terrain to change to when locked, Difficulty, can be bashed)
|
||||
// 10. Reserved
|
||||
// 11. Sign (Unused, Unused, Unused)
|
||||
// 12. Call special (Special to call, local or scenario?, Unused)
|
||||
// 13. Reserved
|
||||
// 14. Container (Unused, Unused, Unused)
|
||||
// 15. Waterfall (Direction, Unused, Unused)
|
||||
// 16. Conveyor Belt (Direction, Unused, Unused)
|
||||
// 17. Reserved
|
||||
// 18. Reserved
|
||||
// 19. Reserved
|
||||
// 20. Blocked to Monsters (Unused, Unused, Unused)
|
||||
// 21. Town entrance (Terrain type if hidden, Unused, Unused)
|
||||
// 22. Change when Used (Terrain to change to when used, Number of sound, Unused)
|
||||
// 23. Call special when used (Special to call, local or scenario?, Unused)
|
||||
};
|
||||
|
||||
enum class eTrimType {
|
||||
NONE = 0,
|
||||
WALL = 1, // not a trim, but trims will conform to it as if it's the same ground type (eg stone wall)
|
||||
S, SE, E, NE, N, NW, W, SW,
|
||||
NE_INNER, SE_INNER, SW_INNER, NW_INNER,
|
||||
FRILLS = 14, // like on lava and underground water; no trim_ter required
|
||||
WALKWAY = 16, // the game will draw walkway corners; trim_ter is base terrain to draw on
|
||||
WATERFALL = 17, // special case for waterfalls
|
||||
CITY = 18, // the game will join roads up to this space but not draw roads on the space
|
||||
};
|
||||
|
||||
enum class eTerObstruct {
|
||||
CLEAR = 0,
|
||||
BLOCK_SIGHT = 1,
|
||||
BLOCK_MONSTERS = 2,
|
||||
BLOCK_MOVE = 3,
|
||||
BLOCK_MOVE_AND_SHOOT = 4,
|
||||
BLOCK_MOVE_AND_SIGHT = 5,
|
||||
};
|
||||
|
||||
inline bool blocksMove(eTerObstruct block) {
|
||||
int code = (int) block;
|
||||
return code > 2;
|
||||
}
|
||||
|
||||
enum class eStepSnd {STEP, SQUISH, CRUNCH, NONE, SPLASH};
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user