Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
EmotionalFelineinaMadstate

A Quick List I Put Together of DeHackEd Thing properties & flags.

Recommended Posts

I decided to make this "little" list of Thing properties and flags in DeHackEd.

Sorry if it is longer than expected.

Remind me if there is anything wrong with the list, and I will fix it.

 

•Things

   •Spawn ID

      The ID of the thing, used in level editors to know what thing is what.

   •Health

      The amount of Hit Points on the thing, if the thing is hit, it will lose Hit Points, if the thing hits 0 Hit Points, they enter their Death state.

   •Speed

      The amount of Speed on the thing, the amount of pixels the selected thing moves each time A_Chase is executed increases as more speed is put in.

   •Radius

      The Radius of the thing.

   •Height

      The Height of the thing.

   •Damage

      The Damage the thing will do, will only work if thing is in a Projectile state. (Also is used to specify the range of Detonate.)

   •Pain Chance

      The chance that the thing will enter it's Pain state, can have a value of 255 to always flinch when hit.

   •Mass

      The amount of push force reduced to the selected thing, any thing that has more than 1000 won't be pushed back by anything less than the BFG 9000.

 

•Thing states and Thing sounds

   •Spawn

      The starting state of every thing in the game, usually consists of a still frame, 2 frames of an idle monster, or just an animated object.

   •Walk

      The state the thing enters when in the 90° angle of their sight, when entered, the thing will start moving at the given Speed value. (or something else, depending on used sprites.)

   •Pain

      The state the thing enters when the Pain Chance has been hit, the thing will enter a frame with a give amount of tics, then will return to the Walk state. (Thing will not enter it's pain state if it does not have Hit Points to spare.)

   •Melee

      The state the thing enters when up close to the target, when done, the thing will do a melee attack (Imp uses TroopAttack, which also is used for the fireball attack.) and do close-range damage to the target.

   •Attack

      The state the thing enters randomly while Chase is being executed, when done, the thing will do it's attack, used from the states. an Imp, for example, will use TroopAttack, which launches an Imp fireball at an angle.

   •Death

      The state the thing enters when it has reached 0 Hit Points, when done, the thing will fall over (or do something else, depending on imported sprites,) and will stay down as an idle thing. (Will also explode, which is explained in the next state.

   •Explode

      The state the thing enters when the thing has been damaged more than it has Hit Points, with one bullet, when done, the thing will explode into a pile of gibs and gore, a rather satisfying state.

   •Raise

      The state the thing enters when resurrected by an Arch-Vile, when done, the thing's Death sprites will be played reversed (or anything else depending on used sprites), and the thing will be entered back into it's Walk state.

 

Sounds

   •Alert

      The sound the thing plays when entering it's Walk state. If the value is 0, no sound will play

   •Attack

      The sound the thing plays when it enters it's attack state or starts an action that attacks the target. If the value is 0, no sound will play.

   •Pain

      The pain sound is used by the action A_Pain. This field can be entered, but it won't seem to make a difference.

   •Death

      The death sound is used by the action A_Death/A_XDeath. This field can be entered, but it won't seem to make a difference.

   •Active

      The sound the thing plays while in it's Walk state if A_Chase is being executed. If the value is 0, no sound will play.

 

•Thing Tags

   •Can be picked up. (SPECIAL)

      This thing can be picked up by things with the PICKUP flag.

   •Obstacle (SOLID)

      This thing blocks other things with it's Radius+Height values. Height can be infinite in orthodox engines, though, and height won't matter.

   •Shootable (SHOOTABLE)

      This thing can get hit with any Projectile.

   •Invisible & touchable (NOSECTOR)

      This thing is invisible, but cannot be passed through.

   •Visible & untouchable (NOBLOCKMAP)

      This thing is visible, but cannot block a thing.

   •Deaf (AMBUSH)

      This thing cannot be triggered by sound, but only by sight. Also increases view angle to a full 360 degrees, it will see from 360 degrees only if it heard something first. (Internal)

   •Attack right back (JUSTHIT)

      This thing will attack after being attacked by another thing. (Internal)

   •Step before attack (JUSTATTACKED)

      This thing will take a step (depending on what your chosen sprite is,) then attack at the target. (Internal)

   •Spawn on ceiling (SPAWNCEILING)

      This thing will spawn hanging from the ceiling.

   •No gravity (NOGRAVITY)

      This thing will not be influenced by gravity, and gains access to floating.

   •Travels over cliffs (DROPOFF)

      This thing will be able to walk off steps steeper than 24 units.

   •Picks up items (PICKUP)

      This thing can pick up things with the SPECIAL flag.

   •No clipping (NOCLIP)

      This thing will clip through everything solid.

   •Keep wall-slide info (SLIDE)

      This thing will remember it's wall sliding information. (Internal)

   •Floating (FLOAT)

      This thing will seem to float above ground, can only be given to things with the NOGRAVITY flag.

   •Semi no-clipping (TELEPORT)

      This thing will walk through solid things, but not through walls.

   •Projectile (PROJECTILE)

      This thing is a projectile, and can have Damage applied to it.

   •Dropped by enemy (DROPPED)

      This thing gives half it's normal amount, and can get crushed by crushers, raising floors (if up to ceiling,) and doors. (Internal)

   •Draw as shadow

      This thing uses the Spectre fuzz effect.

   •Puffs (vs. bleeds) (NOBLOOD)

      This thing will generate bullet puffs instead of blood when hit.

   •Corpse slides off steps (CORPSE)

      This thing's Death state will appear to slide down steps. (Internal)

   •No auto-levelling (INFLOAT)

      This thing will not automatically teleport down to the floor when up in the air.

   •Affects kill % (COUNTKILL)

      This thing will be counted in the intermission screen as 'kills.'

   •Affects item % (COUNTITEM)

      This thing will be counted in the intermission screen as 'items.'

   •Flying skull (SKULLFLY)

      This thing is a lost soul charging, and instead of dying when hitting a wall, it will go into a Walk state. (Internal)

   •Not in deathmatch (NOTDMATCH)

      This thing won't appear in deathmatch games.

   •Color 1 (gray/red) (TRANSLATION)

      This thing will be gray if this tag is active, or red* if the UNUSED1 tag is active as well.

   •Color 2 (brown/red) (UNUSED1)

      This thing will be brown if this tag is active, or red* if the TRANSLATION tag is active as well.

*The red color will be a dull red, and not the full red.

 

Sorry for the extremely long post, i just wanted to look into DeHackEd and stuff.

Edited by Angry_Cat

Share this post


Link to post
4 hours ago, Angry_Cat said:

The ID of the thing.

Used in the level editor to place the thing on the map.

 

4 hours ago, Angry_Cat said:

The amount of Speed on the thing, the amount of pixels the selected thing moves each second increases as more speed is put in.

Not each second, but every time A_Chase is being executed. This is important, as you have two ways of adjusting the actor's speed: by altering Speed and by adjusting the speed of its walking animation (i.e. how frequently A_Chase is being called).

 

4 hours ago, Angry_Cat said:

The Damage the thing will do, will only work if thing has a Melee state or is in a Projectile state.

Only the latter. Melee attacks have hardcoded damage.

 

Although MBF uses this field to specify the blast radius for A_Detonate.

 

4 hours ago, Angry_Cat said:

The time the selected thing has to react, the thing will wait for the amount of tics in the value, then switches to it's Walk state.

It will switch immediately, but won't be able to use its ranged attack? Not sure about this, melee seems to work right away no matter what.

 

4 hours ago, Angry_Cat said:

The state the thing enters when in the 90° angle of their sight, when entered, the thing will start moving at the given Speed value.

Technically, it doesn't have to move, as you can put anything in the "walking" frames. The conditions for waking up are also more complex than that.

 

4 hours ago, Angry_Cat said:

The state the thing enters when the Pain Chance has been hit, the thing will enter a frame with a give amount of tics, then will return to the Walk state unless there are 0 Hit Points available.

It shouldn't enter Pain with 0 health.

 

4 hours ago, Angry_Cat said:

The state the thing enters randomly, when done, the thing will do it's attack, used from the states.

Just to clarify: randomly when A_Chase is being executed.

 

4 hours ago, Angry_Cat said:

The state the thing enters when resurrected by an Arch-Vile, when done, the thing's Death state will be played reversed, and the thing will be entered back into it's Walk state.

Again, to clarify: you can put anything in the states, backwards Death leading to Walk is just the most common example.

 

4 hours ago, Angry_Cat said:

The sound the thing plays when it enters it's attack state or starts an action that attacks the target. If the value is 0, no sound will play.

I think it only works for melee. I should probably check that.

 

4 hours ago, Angry_Cat said:

The sound the thing plays when in the Pain state.

Not exactly. There's a special codepointer to play this sound - A_Pain. If you don't call it from one of the Pain states, no sound will be played regardless of the sounds specified among the thing properties.

 

4 hours ago, Angry_Cat said:

The sound the thing plays when entering the Death state.

Same as Pain.

 

4 hours ago, Angry_Cat said:

The sound the thing plays while in it's Walk state.

Should also be played by A_Chase randomly, not sure.

 

4 hours ago, Angry_Cat said:

This thing blocks other things with it's Radius+Height values.

Height is infinite in orthodox engines, and only works for projectiles (which can connect to all obstacles, but stock decorations are too low for that, even though their sprites aren't).

 

4 hours ago, Angry_Cat said:

This thing can get hit with any Bullet or Projectile.

Projectiles depend on the SOLID flag. You're right about bullets though. The thing will also soak blast damage.

 

4 hours ago, Angry_Cat said:

This thing is invisible, but cannot be passed through.

4 hours ago, Angry_Cat said:

This thing is visible, but cannot block a thing.

Should be more subtle, but I'm not aware of the specifics. Actually, it would be nice if someone explained that in detail.

 

4 hours ago, Angry_Cat said:

This thing cannot be triggered by sound, but only by sight.

It also widens the thing's gaze to 360 degrees - it can literally spot you with its back turned, but only if it heard you first. I don't remember its default view angle, but it should be wider than that of a non-ambush thing. Don't take my word for it though.

 

4 hours ago, Angry_Cat said:

This thing will attack after being attacked by another thing.

4 hours ago, Angry_Cat said:

This thing will take a step (depending on what your chosen sprite is,) then attack at the target.

4 hours ago, Angry_Cat said:

This thing gives half it's normal amount, and can get crushed by crushers.

4 hours ago, Angry_Cat said:

This thing's Death state will appear to slide down steps.

4 hours ago, Angry_Cat said:

This thing is a lost soul charging, and instead of dying when hitting a wall, it will go into a Walk state.

Internal flags. Not sure what's gonna happen if you use them in a patch. Needs clarification from someone else.

 

4 hours ago, Angry_Cat said:

This thing will spawn with the top row of pixels on the sprite touching the ceiling.

Sprite has nothing to do with it, only the thing's height matters.

 

Should be all I know.

 

Edited by Da Werecat : Minor typos.

Share this post


Link to post
10 minutes ago, Da Werecat said:

Height is infinite in orthodox engines, and only works for projectiles (which can connect to obstacles, but stock decorations are too low for that, even though their sprites aren't).

10 minutes ago, Da Werecat said:

Projectiles depend on the SOLID flag. You're right about bullets though. The thing will also soak blast damage.

I should probably clarify here. While projectiles can hit SOLID things, they can't damage them. Taking damage is enabled by SHOOTABLE.

 

Hitscans aren't blocked by a thing that's not SHOOTABLE, even when it's SOLID.

Share this post


Link to post

"Functions" is not a proper term for what you're describing here. It should be "properties and flags", or possibly "variables". A function is an executable code, not a mere value holder. State codepointers usable in DEHACKED's state table could be referred to as functions (and I was expecting this thread to be about them when I read the title).

Edited by scifista42

Share this post


Link to post
4 hours ago, Angry_Cat said:

   •Color 1 (gray/red) (TRANSLATION)

      This thing will be gray if this tag is active, or red if the UNUSED1 tag is active as well.

   •Color 2 (brown/red) (UNUSED1)

      This thing will be brown if this tag is active, or red if the TRANSLATION tag is active as well.

 

It's actually only pixels that use the green range of the palette that are changed. These conversions are what change the player sprites' armor to different colours in vanilla deathmatch.

Share this post


Link to post

I find it weird that these translations haven't been used in vanilla. (Besides for players 2, 3, and 4.) It's kind of like weapon state offsets, something that is present in the engine but not used for some reason. You can use them in DEHACKED, though.

 

Some time ago I looked at how you could recolor the green torch to have gray, brown, or dull red flames. The effect isn't that great but it could be used for other purposes I guess. At least it's a cheap way to reskin the lesser armor.

 

Share this post


Link to post

Nihility: Infinite Teeth does a pretty good job with dehacked recolored imps and hell baron variants.

 

Share this post


Link to post

I use the red/green/brown switch for stronger/weaker monster variants. It's a little subtle on a few (just the eye color changing or some such) but it works pretty well.

 

14 hours ago, scifista42 said:

"Functions" is not a proper term for what you're describing here. It should be "properties and flags", or possibly "variables". A function is an executable code, not a mere value holder. State codepointers usable in DEHACKED's state table could be referred to as functions (and I was expecting this thread to be about them when I read the title).

Was expecting the same. Would be nice to have a list of dehacked codepointers, and what they do/their limitations and particularities. Perhaps with examples of how they interact with each other and such...

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×