Browse Source

Fix monster goal variable references

pull/4933/head
staphen 4 years ago committed by Anders Jenbo
parent
commit
d7b5edb8d0
  1. 22
      Source/monster.cpp

22
Source/monster.cpp

@ -1058,9 +1058,9 @@ void HitMonster(int monsterId, int dam)
if (monster.type().type == MT_BLINK) {
Teleport(monster);
} else if (IsAnyOf(monster.type().type, MT_NSCAV, MT_BSCAV, MT_WSCAV, MT_YSCAV, MT_GRAVEDIG)) {
monster.goalVar1 = MGOAL_NORMAL;
monster.goal = MGOAL_NORMAL;
monster.goalVar1 = 0;
monster.goalVar2 = 0;
monster.goalVar3 = 0;
}
if (monster.mode != MonsterMode::Petrified) {
@ -2639,8 +2639,8 @@ void BatAi(int monsterId)
}
} else if (v < 4 * monster.intelligence + 8) {
StartAttack(monster);
monster.goalVar1 = MGOAL_RETREAT;
monster.goalVar2 = 0;
monster.goal = MGOAL_RETREAT;
monster.goalVar1 = 0;
if (monster.type().type == MT_FAMILIAR) {
AddMissile(monster.enemyPosition, { monster.enemyPosition.x + 1, 0 }, Direction::South, MIS_LIGHTNING, TARGET_PLAYERS, monsterId, GenerateRnd(10) + 1, 0);
}
@ -3936,9 +3936,9 @@ void M_StartHit(Monster &monster, int dam)
Teleport(monster);
} else if (IsAnyOf(monster.type().type, MT_NSCAV, MT_BSCAV, MT_WSCAV, MT_YSCAV)
|| monster.type().type == MT_GRAVEDIG) {
monster.goalVar1 = MGOAL_NORMAL;
monster.goal = MGOAL_NORMAL;
monster.goalVar1 = 0;
monster.goalVar2 = 0;
monster.goalVar3 = 0;
}
if (monster.mode != MonsterMode::Petrified) {
StartMonsterGotHit(monster);
@ -4480,9 +4480,9 @@ void M_FallenFear(Point position)
continue;
int runDistance = std::max((8 - monster.data().mLevel), 2);
monster.goalVar1 = MGOAL_RETREAT;
monster.goalVar2 = runDistance;
monster.goalVar3 = static_cast<int>(GetDirection(position, monster.position.tile));
monster.goal = MGOAL_RETREAT;
monster.goalVar1 = runDistance;
monster.goalVar2 = static_cast<int>(GetDirection(position, monster.position.tile));
}
}
@ -4907,9 +4907,9 @@ bool Monster::isPossibleToHit() const
{
return !(hitPoints >> 6 <= 0
|| talkMsg != TEXT_NONE
|| (type().type == MT_ILLWEAV && goalVar1 == MGOAL_RETREAT)
|| (type().type == MT_ILLWEAV && goal == MGOAL_RETREAT)
|| mode == MonsterMode::Charge
|| (IsAnyOf(type().type, MT_COUNSLR, MT_MAGISTR, MT_CABALIST, MT_ADVOCATE) && goalVar1 != MGOAL_NORMAL));
|| (IsAnyOf(type().type, MT_COUNSLR, MT_MAGISTR, MT_CABALIST, MT_ADVOCATE) && goal != MGOAL_NORMAL));
}
bool Monster::tryLiftGargoyle()

Loading…
Cancel
Save