aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/combat.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2015-02-25 20:08:26 -0500
committerPaul Gilbert2015-02-25 20:08:26 -0500
commit9a8c4c55a3c4b243b95efb04eb72ca3808275b84 (patch)
tree101d0cf92a48c6fed1f6044470f9ae1cdc41dc3e /engines/xeen/combat.cpp
parentad33b8bb824803630bc37766da30047efa3f3f13 (diff)
downloadscummvm-rg350-9a8c4c55a3c4b243b95efb04eb72ca3808275b84.tar.gz
scummvm-rg350-9a8c4c55a3c4b243b95efb04eb72ca3808275b84.tar.bz2
scummvm-rg350-9a8c4c55a3c4b243b95efb04eb72ca3808275b84.zip
XEEN: Add a MonsterStruct pointer to the MazeMonster class
Diffstat (limited to 'engines/xeen/combat.cpp')
-rw-r--r--engines/xeen/combat.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/engines/xeen/combat.cpp b/engines/xeen/combat.cpp
index df9ba9bb50..c3590e7cdd 100644
--- a/engines/xeen/combat.cpp
+++ b/engines/xeen/combat.cpp
@@ -468,7 +468,7 @@ void Combat::moveMonsters() {
for (int idx = 0; idx < (int)map._mobData._monsters.size(); ++idx) {
MazeMonster &monster = map._mobData._monsters[idx];
- MonsterStruct &monsterData = map._monsterData[monster._spriteId];
+ MonsterStruct &monsterData = *monster._monsterData;
if (pt == monster._position) {
_dangerPresent = true;
@@ -667,7 +667,7 @@ bool Combat::monsterCanMove(const Common::Point &pt, int wallShift,
int xDiff, int yDiff, int monsterId) {
Map &map = *_vm->_map;
MazeMonster &monster = map._mobData._monsters[monsterId];
- MonsterStruct &monsterData = map._monsterData[monster._spriteId];
+ MonsterStruct &monsterData = *monster._monsterData;
Common::Point tempPos = pt;
if (map._isOutdoors) {
@@ -798,7 +798,7 @@ void Combat::attackMonster(int monsterId) {
}
MazeMonster &monster = map._mobData._monsters[monsterIndex];
- MonsterStruct &monsterData = map._monsterData[monster._spriteId];
+ MonsterStruct &monsterData = *monster._monsterData;
if (monster._damageType)
return;
@@ -1089,7 +1089,7 @@ void Combat::setSpeedTable() {
for (int monsterNum = 0; monsterNum < 3; ++monsterNum) {
if (_attackMonsters[monsterNum] != -1) {
MazeMonster &monster = map._mobData._monsters[_attackMonsters[monsterNum]];
- MonsterStruct &monsterData = map._monsterData[monster._spriteId];
+ MonsterStruct &monsterData = *monster._monsterData;
charSpeeds.push_back(monsterData._speed);
maxSpeed = MAX(maxSpeed, monsterData._speed);
@@ -1162,7 +1162,7 @@ Common::String Combat::getMonsterDescriptions() {
for (int idx = 0; idx < 3; ++idx) {
if (_attackMonsters[idx] != -1) {
MazeMonster &monster = map._mobData._monsters[_attackMonsters[idx]];
- MonsterStruct &monsterData = map._monsterData[monster._spriteId];
+ MonsterStruct &monsterData = *monster._monsterData;
int textColor = monster.getTextColor();
Common::String format = "\n\v020\f%2u%s\fd";
@@ -1395,7 +1395,7 @@ void Combat::attack2(int damage, RangeType rangeType) {
SoundManager &sound = *_vm->_sound;
bool isDarkCc = _vm->_files->_isDarkCc;
MazeMonster &monster = map._mobData._monsters[_monster2Attack];
- MonsterStruct &monsterData = map._monsterData[monster._spriteId];
+ MonsterStruct &monsterData = *monster._monsterData;
bool monsterDied = false;
if (!isDarkCc && damage && rangeType && monster._spriteId == 89)
@@ -1669,7 +1669,7 @@ bool Combat::hitMonster(Character &c, RangeType rangeType) {
assert(_monster2Attack != -1);
MazeMonster &monster = map._mobData._monsters[_monster2Attack];
- MonsterStruct &monsterData = map._monsterData[monster._spriteId];
+ MonsterStruct &monsterData = *monster._monsterData;
if (monster._damageType != DT_PHYSICAL)
chance += 20;
@@ -1737,7 +1737,7 @@ int Combat::getMonsterResistence(RangeType rangeType) {
Map &map = *_vm->_map;
assert(_monster2Attack != -1);
MazeMonster &monster = map._mobData._monsters[_monster2Attack];
- MonsterStruct &monsterData = map._monsterData[monster._spriteId];
+ MonsterStruct &monsterData = *monster._monsterData;
int resistence = 0, damage = 0;
if (rangeType != RT_0 && rangeType != RT_3) {