Bits = TRANSLUC50You can specify multiple flags together by separating them by with a comma (,), vertical bar (|), or plus (+). For example, the following three lines are equivalent and make an object bounce and reflective:
Bits = FLOORBOUNCE | REFLECTIVE Bits = FLOORBOUNCE + REFLECTIVE Bits = FLOORBOUNCE, REFLECTIVEYou can also combine named flags with bit patterns from a regular DeHackEd patch in the same way. The following line will make a pushable object that hangs from the ceiling:
Bits = 256 | PUSHABLE(It could just have well been written as Bits = SPAWNCEILING | PUSHABLE.)
The following flags are understood by ZDoom:
| Name | Meaning |
|---|---|
| SPECIAL | Item can respawn and be picked up |
| SOLID | Blocks other things |
| SHOOTABLE | Can be shot |
| NOSECTOR | Not linked in with a sector (making it invisible) |
| NOBLOCKMAP | Not linked into the blockmap (making it inert) |
| AMBUSH | Will only wake up on sight of a player |
| JUSTHIT | Monster will immediately attack |
| JUSTATTACKED | Will take at least one step back before attacking |
| SPAWNCEILING | Thing hangs from the ceiling |
| NOGRAVITY | Gravity is not applied to the thing |
| DROPOFF | Can fall off ledges |
| PICKUP | Can pickup items (only applicable to player) |
| NOCLIP | Can pass through solid objects |
| FLOAT | Can float up or down |
| TELEPORT | Does not activate special lines when it moves |
| MISSILE | Is a missile |
| DROPPED | Was dropped and will not respawn |
| SHADOW | Drawn with the fuzz effect |
| NOBLOOD | Uses puffs when shot instead of blood |
| CORPSE | Is dead |
| INFLOAT | Is in the middle of a float up or down |
| COUNTKILL | Is a monster |
| COUNTITEM | Is included in the total count of items |
| SKULLFLY | Special handling for a skull in flight |
| NOTDMATCH | Is not spawned in deathmatch |
| STEALTH | Is a stealth monster |
| TRANSLUC25 | Drawn with 25% translucency |
| TRANSLUC50 | Drawn with 50% translucency |
| TRANSLUC75 | Drawn with 75% translucency |
| LOGRAV | Only one-third gravity is applied to it |
| FLOORBOUNCE | Bounces off of floors and walls |
| SPAWNFLOAT | Spawns at a random z location |
| PUSHABLE | Can be pushed |
| CANSLIDE | Can slide along walls |
| ONMOBJ | Is currently standing on top of another thing |
| PASSMOBJ | Can pass under/over other things |
| CANNOTPUSH | Cannot push other things |
| BOSS | Sight and death sounds are played in surround sound |
| FLOATBOB | Objects bobs up and down |
| DONTDRAWN | Is not drawn |
| IMPACT | Can activate projectile hit specials |
| PUSHWALL | Can activate push specials |
| MCROSS | Can activate monster cross specials |
| PCROSS | Can activate projectile cross specials |
| INVULNERABLE | Thing takes no damage |
| REFLECTIVE | Missiles bounce off of it |
ZDoom has a few new code pointers. These are only accessible using a [CODEPTR] block.
Using a [STRINGS] block inside a .bex patch, it is possible to modify the obituary messages printed when a player dies. The following strings are available to be changed (in addition to the ones supported by BOOM):
| String Name | Standard Text |
|---|---|
| OB_SUICIDE | suicides |
| OB_FALLING | fell too far |
| OB_CRUSH | was squished |
| OB_EXIT | tried to leave |
| OB_WATER | can't swim |
| OB_SLIME | mutated |
| OB_LAVA | melted |
| OB_BARREL | went boom |
| OB_SPLASH | stood in the wrong spot |
| OB_R_SPLASH | should have stood back |
| OB_ROCKET | should have stood back |
| OB_KILLEDSELF | killed %hself |
| OB_STEALTHBABY | thought %g saw an arachnotron |
| OB_STEALTHVILE | thought %g saw an archvile |
| OB_STEALTHBARON | thought %g saw a Baron of Hell |
| OB_STEALTHCACO | thought %g saw a cacodemon |
| OB_STEALTHCHAINGUY | thought %g saw a chaingunner |
| OB_STEALTHDEMON | thought %g saw a demon |
| OB_STEALTHKNIGHT | thought %g saw a Hell Knight |
| OB_STEALTHIMP | thought %g saw an imp |
| OB_STEALTHFATSO | thought %g saw a mancubus |
| OB_STEALTHUNDEAD | thought %g saw a revenant |
| OB_STEALTHSHOTGUY | thought %g saw a sargeant |
| OB_STEALTHZOMBIE | thought %g saw a zombieman |
| OB_UNDEADHIT | was punched by a revenant |
| OB_IMPHIT | was slashed by an imp |
| OB_CACOHIT | got too close to a cacodemon |
| OB_DEMONHIT | was bit by a demon |
| OB_SPECTREHIT | was eaten by a spectre |
| OB_BARONHIT | was ripped open by a Baron of Hell |
| OB_KNIGHTHIT | was gutted by a Hell Knight |
| OB_ZOMBIE | was killed by a zombieman |
| OB_SHOTGUY | was shot by a sargeant |
| OB_VILE | was incinerated by an archvile |
| OB_UNDEAD | couldn't evade a revevant's fireball |
| OB_FATSO | was squashed by a mancubus |
| OB_CHAINGUY | was perforated by a chaingunner |
| OB_SKULL | was spooked by a lost soul |
| OB_IMP | was burned by an imp |
| OB_CACO | was smitten by a cacodemon |
| OB_BARON | was bruised by a Baron of Hell |
| OB_KNIGHT | was splayed by a Hell Knight |
| OB_SPIDER | stood in awe of the spider demon |
| OB_BABY | let an arachnotron get %h |
| OB_CYBORG | was splattered by a cyberdemon |
| OB_WOLFSS | was no match for the past |
| OB_MPFIST | chewed on %s's fist |
| OB_MPCHAINSAW | was mowed over by %s's chainsaw |
| OB_MPPISTOL | was tickled by %s's pea shooter |
| OB_MPSHOTGUN | chewed on %s's boomstick |
| OB_MPSSHOTGUN | was splattered by %s's super shotgun |
| OB_MPCHAINGUN | was mowed down by %s's chaingun |
| OB_MPROCKET | rode %s's rocket |
| OB_MPR_SPLASH | almost dodged %s's rocket |
| OB_MPPLASMARIFLE | was melted by %s's plasma gun |
| OB_MPBFG_BOOM | was splintered by %s's BFG |
| OB_MPBFG_SPLASH | couldn't hide from %s's BFG |
| OB_MPTELEFRAG | was telefragged by %s |
| OB_DEFAULT | died |
| OB_FRIENDLY1 | mows down a teammate |
| OB_FRIENDLY2 | checks %p glasses |
| OB_FRIENDLY3 | gets a frag for the other team |
| OB_FRIENDLY4 | loses another friend |
| OB_RAILGUN | was railed by %s |
The name of the player who died is always printed first followed by the obituary string, except for the OB_FRIENDLY? strings, where the name of the killer is printed instead. The obituary strings can contain special % sequences that get substituted with something else when the string is printed. These are:
%g -> he/she/it
%h -> him/her/it
%p -> his/her/its
%s -> name of killer (only works for strings that already have %s above)