attacking guarding dogs now wakes up all other existing guarding dogs, and causes a small ambush -- also affects shmup mode and other ranged attacks

This commit is contained in:
Zeno Rogue 2023-10-28 23:44:05 +02:00
parent f7a25ff2d1
commit 87f7b2a593
2 changed files with 8 additions and 0 deletions

View File

@ -506,6 +506,8 @@ EX void killMonster(cell *c, eMonster who, flagtype deathflags IS(0)) {
}
#endif
if(m == moHunterGuard) ambush::guard_attack();
if(m == moGolemMoved) m = moGolem;
if(m == moKnightMoved) m = moKnight;
if(m == moSlimeNextTurn) m = moSlime;

View File

@ -905,6 +905,12 @@ EX void ambush(cell *c, int dogs) {
addMessage(XLAT("You are ambushed!"));
}
EX void guard_attack() {
addMessage(XLAT("%The1 alarms other dogs as it dies!", moHunterGuard));
for(cell *c: dcal) if(c->monst == moHunterGuard) c->monst = moHunterDog;
ambush(cwt.at, 7);
}
EX }
EX namespace dice {