Static placeables are those that should, for all intents and purposes, appear to be part of the tileset. It is not possible to interact with static placeables (they cannot be useable), and the game is allowed to make certain optimizations based on the assumption that static placeables will not change while a game is in progress.
It is possible to have a placeable that is neither useable nor static; such a placeable cannot be interacted with by the player, but the game must perform some additional overhead to allow the possibility that the placeable might change (e.g. be animated or destroyed) in the middle of a game. For example, static placeables are incorporated into the walkmesh of an area when the area is loaded, whereas non-static placeables must be accounted for every time a pathfinding calculation is made. To avoid this overhead, placeables that will not change and that are not meant to be interacted with should be flagged as static.
Attempting to have scripts interact with static placeables can have unexpected results. Since the visual rendering of a static placeable is computed when the area is loaded, destroying such a placeable will not cause the placeable to disappear until a player re-enters the area. Similarly, and since effects are not accounted for during the area load, applying an effect to a static placeable will not visually affect the placeable. Since the game would normally have no need of a static placeable's name and portrait, making one talk (via SpeakString()
or a normal conversation) causes it to be identified by its appearance rather than its name, and its portrait does not appear. Overall, trying to make a static placeable do something other than statically exist is usually not a good idea.