mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-02-09 07:30:09 +00:00
fixed some instances of friends not being protected from environment with Orb and Empathy, or being protected with Orb but without Empathy
This commit is contained in:
parent
db5e89feae
commit
14cf0954ee
22
flags.cpp
22
flags.cpp
@ -263,47 +263,51 @@ bool isFriendlyGhost(eMonster m) {
|
|||||||
return m == moFriendlyGhost || (markEmpathy(itOrbAether) && isFriendly(m));
|
return m == moFriendlyGhost || (markEmpathy(itOrbAether) && isFriendly(m));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool isGhostAether(eMonster m) {
|
||||||
|
return isGhost(m) || checkOrb(m, itOrbAether);
|
||||||
|
}
|
||||||
|
|
||||||
bool survivesWater(eMonster m) {
|
bool survivesWater(eMonster m) {
|
||||||
return
|
return
|
||||||
m == moShark || m == moGreaterShark || m == moCShark ||
|
m == moShark || m == moGreaterShark || m == moCShark ||
|
||||||
isGhost(m) || m == moWitchGhost || m == moShadow ||
|
isGhostAether(m) || m == moWitchGhost || m == moShadow ||
|
||||||
isBird(m) || m == moWaterElemental || m == moAirElemental ||
|
isBird(m) || m == moWaterElemental || m == moAirElemental ||
|
||||||
isWorm(m) || isIvy(m) || isDragon(m) || isKraken(m) ||
|
isWorm(m) || isIvy(m) || isDragon(m) || isKraken(m) ||
|
||||||
m == moMutant || m == moFriendlyIvy ||
|
m == moMutant || m == moFriendlyIvy ||
|
||||||
(isFriendly(m) && markOrb(itOrbFish)) ||
|
checkOrb(m, itOrbFish) ||
|
||||||
m == moTortoise; // Tortoises and Ivies survive, but don't go through water
|
m == moTortoise; // Tortoises and Ivies survive, but don't go through water
|
||||||
}
|
}
|
||||||
|
|
||||||
// survives Mercury or Sulphur or Lava
|
// survives Mercury or Sulphur or Lava
|
||||||
bool survivesPoison(eMonster m, eWall p) {
|
bool survivesPoison(eMonster m, eWall p) {
|
||||||
return
|
return
|
||||||
isGhost(m) || m == moWitchGhost || m == moShadow ||
|
isGhostAether(m) || m == moWitchGhost || m == moShadow ||
|
||||||
isBird(m) || m == moAirElemental || isDragon(m) || isWorm(m);
|
isBird(m) || m == moAirElemental || isDragon(m) || isWorm(m);
|
||||||
}
|
}
|
||||||
|
|
||||||
// flying even if stunned
|
// flying even if stunned
|
||||||
bool isPermanentFlying(eMonster m) {
|
bool isPermanentFlying(eMonster m) {
|
||||||
return m == moAirElemental || isGhost(m);
|
return m == moAirElemental || isGhostAether(m);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool survivesFire(eMonster m) {
|
bool survivesFire(eMonster m) {
|
||||||
return
|
return
|
||||||
isGhost(m) || m == moWitchWinter || m == moWitchGhost ||
|
isGhostAether(m) || m == moWitchWinter || m == moWitchGhost ||
|
||||||
m == moBomberbird || m == moTameBomberbird || m == moTameBomberbirdMoved ||
|
m == moBomberbird || m == moTameBomberbird || m == moTameBomberbirdMoved ||
|
||||||
(isFriendly(m) && markOrb(itOrbWinter)) || m == moFireElemental ||
|
checkOrb(m, itOrbWinter) || m == moFireElemental ||
|
||||||
isDragon(m) || m == moShadow;
|
isDragon(m) || m == moShadow;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool survivesWall(eMonster m) {
|
bool survivesWall(eMonster m) {
|
||||||
return isGhost(m);
|
return isGhostAether(m);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool survivesThorns(eMonster m) {
|
bool survivesThorns(eMonster m) {
|
||||||
return isGhost(m) || m == moSkeleton || m == moDraugr;
|
return isGhostAether(m) || m == moSkeleton || m == moDraugr;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool survivesFall(eMonster m) {
|
bool survivesFall(eMonster m) {
|
||||||
return isBird(m) || m == moAirElemental || m == moSkeleton || isDragon(m) || m == moShadow || isGhost(m);
|
return isBird(m) || m == moAirElemental || m == moSkeleton || isDragon(m) || m == moShadow || isGhostAether(m);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool checkOrb(eMonster m1, eItem orb) {
|
bool checkOrb(eMonster m1, eItem orb) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user