1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-08-31 01:37:57 +00:00

improved Shadow slaing: SWORD, SWORD_INTO and CRUSH now clear the Shadow history (previously SWORD killed it for 1 turn)

This commit is contained in:
Zeno Rogue
2021-06-03 10:48:32 +02:00
parent dd3f5a3d6b
commit 41f8f7fba3
2 changed files with 17 additions and 4 deletions

View File

@@ -153,7 +153,7 @@ EX bool canAttack(cell *c1, eMonster m1, cell *c2, eMonster m2, flagtype flags)
if(c1 && c2 && againstRose(c1, c2) && !ignoresSmell(m1))
return false;
if(m2 == moShadow && !(flags & AF_SWORD)) return false;
if(m2 == moShadow && !(flags & (AF_SWORD | AF_SWORD_INTO | AF_CRUSH))) return false;
if(isWorm(m2) && m2 != moTentacleGhost && !isDragon(m2)) return false;
// dragon can't attack itself, or player who mounted it
@@ -457,7 +457,8 @@ EX void killMonster(cell *c, eMonster who, flagtype deathflags IS(0)) {
bool fallanim = (deathflags & AF_FALL) && m != moMimic;
int pcount = fallanim ? 0 : 16;
if(m == moShadow) return;
if(m == moShadow)
kill_shadow_at(c);
#if CAP_HISTORY
if(!isBug(m) && !isAnyIvy(m)) {