HyperRogue  11.3d
game/visualization engine based on non-Euclidean geometry
Namespaces | Macros | Functions
flags.cpp File Reference

Implementation of various simple flags for lands, items, monsters, and walls. More...

#include "hyper.h"

Namespaces

 hr
 

Macros

#define ANYFLAGCHECK(name, cond, field, enum)   inline bool name(enum w) { flagtype flag = classflag(w); return cond; } inline bool name(cell *c) { return name(c->field); }
 
#define MONFLAGCHECK(name, cond)   ANYFLAGCHECK(name, cond, monst, eMonster)
 
#define WALLFLAGCHECK(name, cond)   ANYFLAGCHECK(name, cond, wall, eWall)
 
#define ITEMFLAGCHECK(name, cond)   ANYFLAGCHECK(name, cond, item, eItem)
 
#define LANDFLAGCHECK(name, cond)   ANYFLAGCHECK(name, cond, land, eLand)
 

Functions

const flagtype & hr::classflag (eItem it)
 
const flagtype & hr::classflag (eWall w)
 
const flagtype & hr::classflag (eMonster m)
 
const flagtype & hr::classflag (eLand l)
 
 hr::MONFLAGCHECK (isAngryBird,(flag &CF_BIRD) &&!(flag &CF_FRIENDLY)) eMonster movegroup(eMonster m)
 
EX bool hr::boatStrandable (cell *c)
 
EX bool hr::isFireOrMagma (cell *w)
 
EX int hr::mirrorcolor (bool mirrored)
 
EX bool hr::isMounted (cell *c)
 
EX int hr::itemclass (eItem it)
 
EX bool hr::isFriendly (eMonster m)
 
EX bool hr::isFriendly (cell *c)
 
EX bool hr::isFriendlyOrBug (cell *c)
 
EX bool hr::cellUnstable (cell *c)
 
EX bool hr::cellUnstableOrChasm (cell *c)
 
EX eMonster hr::elementalOf (eLand l)
 
EX eItem hr::localshardof (eLand l)
 
EX int hr::snakelevel (cell *c)
 
EX eSlimegroup hr::slimegroup (cell *c)
 
EX bool hr::isFlying (eMonster m)
 
EX bool hr::survivesChasm (eMonster m)
 
EX bool hr::ignoresPlates (eMonster m)
 
EX bool hr::isInactiveEnemy (cell *w, eMonster forwho)
 
EX bool hr::isActiveEnemy (cell *w, eMonster forwho)
 
EX bool hr::isArmedEnemy (cell *w, eMonster forwho)
 
EX bool hr::eternalFire (cell *c)
 
EX bool hr::haveRangedOrb ()
 
EX bool hr::isFriendlyGhost (eMonster m)
 
EX bool hr::isGhostAether (eMonster m)
 
EX bool hr::survivesWater (eMonster m)
 
EX bool hr::survivesPoison (eMonster m, eWall p)
 
EX bool hr::isPermanentFlying (eMonster m)
 
EX bool hr::survivesFire (eMonster m)
 
EX bool hr::survivesWall (eMonster m)
 
EX bool hr::survivesThorns (eMonster m)
 
EX bool hr::survivesFall (eMonster m)
 
EX bool hr::checkOrb (eMonster m1, eItem orb)
 
EX bool hr::checkOrb2 (eMonster m1, eItem orb)
 
EX bool hr::ignoresSmell (eMonster m)
 
EX bool hr::highwall (cell *c)
 
EX int hr::chasmgraph (cell *c)
 
EX bool hr::conegraph (cell *c)
 
EX eItem hr::frog_power (eMonster m)
 
EX bool hr::hornStuns (cell *c)
 
EX bool hr::do_not_touch_this_wall (cell *c)
 
EX bool hr::is_paired (eMonster m)
 

Detailed Description

Implementation of various simple flags for lands, items, monsters, and walls.