1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-23 21:07:17 +00:00

implemented Rusalka and Pike

This commit is contained in:
Zeno Rogue 2020-02-26 01:39:12 +01:00
parent 511a8e9157
commit 3cfa608c4a
3 changed files with 6 additions and 1 deletions

View File

@ -421,7 +421,7 @@ EX void bfs() {
else if(c2->monst == moAltDemon) havewhat |= HF_ALT;
else if(c2->monst == moHexDemon) havewhat |= HF_HEXD;
else if(c2->monst == moMonk) havewhat |= HF_MONK;
else if(c2->monst == moShark || c2->monst == moCShark) havewhat |= HF_SHARK;
else if(c2->monst == moShark || c2->monst == moCShark || among(c2->monst, moRusalka, moYellowSkipper, moPike)) havewhat |= HF_SHARK;
else if(c2->monst == moAirElemental)
havewhat |= HF_AIR, airmap.push_back(make_pair(c2,0));
}

View File

@ -268,6 +268,7 @@ EX bool survivesWater(eMonster m) {
isWorm(m) || isIvy(m) || isDragon(m) || isKraken(m) ||
m == moMutant || m == moFriendlyIvy ||
checkOrb(m, itOrbFish) ||
among(m, moYellowSkipper, moPike, moRusalka) ||
m == moTortoise; // Tortoises and Ivies survive, but don't go through water
}

View File

@ -876,6 +876,10 @@ bool pcmove::attack() {
wandering_jiangshi++;
}
attackMonster(c2, attackflags | AF_MSG, moPlayer);
if(m == moRusalka) {
if(cwt.at->wall == waNone) cwt.at->wall = waShallow;
else if(cwt.at->wall == waShallow) cwt.at->wall = waDeepWater;
}
// salamanders are stunned for longer time when pushed into a wall
if(c2->monst == moSalamander && (mip.t == c2 || !mip.t)) c2->stuntime = 10;
if(!c2->monst) produceGhost(c2, m, moPlayer);