diff options
Diffstat (limited to 'engines/xeen/combat.h')
-rw-r--r-- | engines/xeen/combat.h | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/engines/xeen/combat.h b/engines/xeen/combat.h index 5d27dc5c4e..e1a02c0759 100644 --- a/engines/xeen/combat.h +++ b/engines/xeen/combat.h @@ -58,7 +58,7 @@ enum ShootType { }; enum CombatMode { - COMBATMODE_STARTUP = 0, COMBATMODE_1 = 1, COMBATMODE_2 = 2 + COMBATMODE_STARTUP = 0, COMBATMODE_INTERACTIVE = 1, COMBATMODE_2 = 2 }; enum PowType { @@ -77,6 +77,7 @@ enum RangeType { class XeenEngine; class Character; class XeenItem; +class MonsterStruct; struct PowSlot { bool _active; @@ -205,6 +206,11 @@ public: void clearShooting(); /** + * Resets all combat related data + */ + void reset(); + + /** * Gives damage to character or characters in the party */ void giveCharDamage(int damage, DamageType attackType, int charIndex); @@ -273,18 +279,30 @@ public: /** * Determines whether a given monster can move + * @param pt Monster position + * @param wallShift Shift mask for determining direction being moved + * @param xDiff X Delta for move + * @param yDiff Y Delta for move + * @param monsterId Monster number being tested */ - bool monsterCanMove(const Common::Point &pt, int wallShift, - int v1, int v2, int monsterId); + bool canMonsterMove(const Common::Point &pt, int wallShift, int xDiff, int yDiff, int monsterId); /** * Moves a monster by a given delta amount if it's a valid move */ void moveMonster(int monsterId, const Common::Point &moveDelta); + /** + * Handle a monster's turn at attacking combat party members + */ void doMonsterTurn(int monsterId); /** + * Handles a monster's turn at attacking a specific member of the combat party + */ + void doMonsterTurn(int monsterId, int charNum); + + /** * Called when combat has ended */ void endAttack(); @@ -305,6 +323,11 @@ public: * Fires off a ranged attack at all oncoming monsters */ void shootRangedWeapon(); + + /** + * Returns true if there are any monsters in the vacinity + */ + bool areMonstersPresent() const; }; } // End of namespace Xeen |