Legacy:Decoration - Unreal Wiki

# Legacy:Decoration

### From Unreal Wiki, The Unreal Engine Documentation Site

UT2003 :: Actor >> Decoration (Package: Engine)

This is an abstract base class, and shouldn't be added to a map.

Children of this class are decoration actors – meshes seen by the player in the game that have no AI and are not weapon or inventory pickups. Many decorations are static, but a certain level of interaction can be set.

Usually Static Meshes are used instead of Decoration actors unless the decorative object should be animated or have some special behavior.

See Decoration (UT) for the UT version of this class.

## Properties

### Main

bool bDamageable
  Whether the Decoration can take damage.
bool bPushable
  When activated, a player will be able to push the decoration on the floor, e.g. wooden boxes.
class<Inventory> contents
  spawned when destroyed
class<Actor> EffectWhenDestroyed
  If set, the pyrotechnic or explosion when item is damaged ?Destroyed.
Sound EndPushSound
  This sound is played when the decoration stops moving.
Texture FragSkin
  skin to use for fragments
class<Fragment> FragType
  type of fragment to use
int Health
  The amount of damage the Decoration can take before it's destroyed.
int NumFrags
  Number of fragments to spawn when destroyed.
Sound PushSound
  This sound is played then the decoration is pushed.
float SplashTime

### Hidden

bool bPushSoundPlaying
  The decoration currently plays the PushSound. This variable is reset to false by a Timer function every 0.3 seconds.
bool bSplash
vector FragMomentum
  Momentum to be imparted to frags when destroyed. Set when taking damage.
NavigationPoint LastAnchor (const)
  recent nearest path
float LastValidAnchorTime
  last time a valid anchor was found
int numLandings (const)
  Used by engine physics.

## Known Subclasses

- DestroyableTrigger
- GameObject – important game objects like the BR ball or the CTF flags (not placeable, also see GameObjective)
- ScaledSprite
- Shark
- uTeamBanner
- xBombBase
- xBombDeliveryHole (not placeable)
- xCTFBase (not placeable)
- xDOMLetter
- xMonitor
- xTeamBanner

## Discussion

EricBlade: A little tip: In my source tree, decoration defaults to bStatic = true and bStasis = true. This makes it pretty much useless if you don't forget to reset those. I'm not sure if UT2k3/2k4 implements a better version or a replacement for this handy dandy object, but in my game, 99% of the items in game are simply immutable static meshes. I've subbed this, made it default to bStatic and bStasis false, and added code so that it will be burned by Fire. It could probably use some improved method of dealing with sound, as it is now, the sound only plays once per push, wether you push it across a room or across the Sahara desert.

An additional tip: Stacking three of these on top of each other in a game, then pushing them, results in this appearing in the log:

    Log: UZGDeco test2.UZGDeco4 fell out of the world at -1.#IND00 -1.#IND00 -1.#IND00!
    Log: Octree Warning (RemoveActor): UZGDeco4 moved without proper hashing
    Log: UZGDeco test2.UZGDeco5 fell out of the world at -1.#IND00 -1.#IND00 -1.#IND00!
    Log: Octree Warning (RemoveActor): UZGDeco5 moved without proper hashing

and then the computer completely and totally locks up.

Also, this seems to quite well show off some pretty serious problems in collision detection inside the game. Even though my meshes have fully functional collision information, pushing a couple of these at each other results in them not colliding until they are several units inside each other. Also, a tester reported that he was able to get inside one of these objects. That same tester also reported a computer crash (with no log) when pushing into one of them. Meh.

Categories: Legacy Class (UT2003) | Legacy Class (UT2004)

##### Views

- Legacy
- Discussion
- Current revision

##### Search