fixed Red Raiders killed incompletely by Orb of Chaos

This commit is contained in:
Zeno Rogue 2020-03-02 18:00:28 +01:00
parent ce8aae916f
commit f98b422aa6
2 changed files with 6 additions and 6 deletions

View File

@ -368,4 +368,8 @@ EX bool do_not_touch_this_wall(cell *c) {
return among(c->wall, waMirrorWall, waBarrier, waRoundTable);
}
EX bool is_paired(eMonster m) {
return among(m, moPair, moNorthPole, moSouthPole);
}
}

View File

@ -494,6 +494,8 @@ bool switch_lhu_in(eLand l) {
void apply_chaos() {
cell *ca = (cwt+1).cpeek();
cell *cb = (cwt-1).cpeek();
if(ca && is_paired(ca->monst)) killMonster(ca, moPlayer);
if(cb && is_paired(cb->monst)) killMonster(cb, moPlayer);
if(!items[itOrbChaos] || chaos_forbidden(ca) || chaos_forbidden(cb)) return;
changes.ccell(ca);
changes.ccell(cb);
@ -513,12 +515,6 @@ void apply_chaos() {
ca->mondir = ((cwt+1)+wstep-sb).spin;
if(cb->mondir < cb->type)
cb->mondir = ((cwt+1)+wstep-sa).spin;
if(cb && cb->monst == moPair) {
killMonster(cb, moPlayer);
}
if(ca && ca->monst == moPair) {
killMonster(ca, moPlayer);
}
}
bool pcmove::actual_move() {