I propose having a new type of entity. A meta-entity.
A meta entity is collection of entities. Each will be assumed to be on same team, and be the same player. Assuming health applies, if one is destroyed all are destroyed.
A meta entity physically has only one of its entities known to the game engine in the same space and time. This entity we'll call the Ranking Entity.
A meta entity may be configured to have one or more of its entities active overall. Active would mean possibly accessible by LUA or the player, when or IF it becomes the Ranking Entity.
By accessible I mean only its object state not other properties.
To set the Ranking Entity this will be done by cycling through them all. The trigger could be something like a hotkey suchas ctrl-leftclick. We'll do a distance check on the main player to the Meta Entity before accepting a hotkey trigger.
The moment an entity becomes the Ranking Entity overhead text will be shown to indicate all of:
A) its index
B) its object script state
C) extra string
An inactive entity of the meta entity will be skipped in the cycling process.
==================
What does this thing solve? In FOT there is no object with multiple modes that also store information and that you could stand in front of and interact without having to move. Especially with modes we can render inaccessible when we desire and make the entity itself suddenly "become" any other entity type.
To be clear this isn't about propagating properties from one entity to another. Nor do we magically get to make doors be both doors and lootable bookcases. Although you might be able to make the illusion if they used same graphics.
How do we make Meta Entities?
Melindils FOT scripting engine could be modified to allow us to do it easily (especially regarding entity creation and swapping). LUA can be used to handle customization/design of the the Meta Entities themselves.
A meta entity is collection of entities. Each will be assumed to be on same team, and be the same player. Assuming health applies, if one is destroyed all are destroyed.
A meta entity physically has only one of its entities known to the game engine in the same space and time. This entity we'll call the Ranking Entity.
A meta entity may be configured to have one or more of its entities active overall. Active would mean possibly accessible by LUA or the player, when or IF it becomes the Ranking Entity.
By accessible I mean only its object state not other properties.
To set the Ranking Entity this will be done by cycling through them all. The trigger could be something like a hotkey suchas ctrl-leftclick. We'll do a distance check on the main player to the Meta Entity before accepting a hotkey trigger.
The moment an entity becomes the Ranking Entity overhead text will be shown to indicate all of:
A) its index
B) its object script state
C) extra string
An inactive entity of the meta entity will be skipped in the cycling process.
==================
What does this thing solve? In FOT there is no object with multiple modes that also store information and that you could stand in front of and interact without having to move. Especially with modes we can render inaccessible when we desire and make the entity itself suddenly "become" any other entity type.
To be clear this isn't about propagating properties from one entity to another. Nor do we magically get to make doors be both doors and lootable bookcases. Although you might be able to make the illusion if they used same graphics.
How do we make Meta Entities?
Melindils FOT scripting engine could be modified to allow us to do it easily (especially regarding entity creation and swapping). LUA can be used to handle customization/design of the the Meta Entities themselves.