Laurie: I think your experience matches a lot of people's. :-) I suck at writing docs, apparently - people didn't really start to use it until I showed one guy (the-middleman) a simple example, and he built a tutorial to explain it to everyone else.
For a start, the locus system is full of poorly named things. It's basically a simple programming language that understands four types of data: entities (LE), positions (LP), vectors (LV) and numbers (LR).
For example, an env_explosion has a field called "Position [LP]". The [LP] tag indicates that this is a locus position, which means there are three options for what to write there:
1) The name of the entity where the explosion should happen.
2) The name of a calc_position entity that will calculate where the explosion should happen.
3) *locus, meaning "the specified entity". When the explosion gets triggered, whatever triggered it also specifies an entity. For example, if your explosion is being triggered by a trigger_once, the specified entity will be whatever just walked into the trigger_once.
When you trigger something yourself, you can override the specified entity by writing a different one in brackets: e.g. if you have an explosion set to trigger at *locus, then you could trigger it by writing "explosion(victim)" instead of just "explosion". (Where victim is the name of an entity).
Ага, значит всё-таки это не мои фантазии что там в одной строке можно было одновременно указать и объект и куда он должен стрелять.