The proxy is an entity that you place in the World Editor.
By placing proxies instead of individual monsters on your map
- the monsters on your map adapt to the Player Character's level and the number of PCs in a multiplayer game.
- you get some randomness of the monsters, thus enhancing your mod's replay value.
In-game, the proxy will be substituted by monsters from a pool (or several pools) you can specify, with a difficulty you can also specify, in a way that the challenge to PC of different levels stays similar.
In the original game, even the boss monsters are spawned from proxies. The centaur Nessos, for instance, may be a level 9, 11 or 15 monster.
On the database level, this is implemented as follows:
The proxies .dbr points at one or more pool .dbr files, which in their turn point at one or more monster .dbr files.
Also, note that these files (proxy and pool) also point to other files, a limit file and a difficulty file. The difficulty file contains equations to setup the monster's attributes according to the players' level and number.
The pool is the list of mobs with their individual chance of beeing picked up to be spawned (the weight).
You can also setup the maximum and minimum number of monsters that can be spawned (also randomly between these values).
Also, a pool can be used by more than one proxy. So you can have 10 proxies that use the same pool.
All the pools use the same file structure. See pool record.
A proxy lets you spawn entites randomly, these entities are picked up from a table/list, the pool. They are made in the Art Manager, and each proxy needs a pool file.
The same proxy can use more than one pool. You can have different pools for the different difficulties, and even for each difficulty.
Even if all the proxies have the same function, there can be different types of proxies, but it is all setup in the fields.
All the proxies use the same file structure. See proxy record.
Making a pool and a proxy
You need to import and copy-paste a pool and a proxy (to make your own from), so just import one proxy and one pool, and paste and rename and make as many copies as needed. There are tons of proxies and pools to import from.
Next, you need to edit the pool to point at the monsters you want, and give them a relative weight value. The higher the value of a monster, the higher its chance of beeing spawned.
After that you specify the minimum and the maximum, and you don't touch anything else. Delete any other monster entries you find, and rebuild the mod to update it with the new pool file.
After that, open your proxy file and go to the Pool Tables, then go to Normal, and there you change the path to point to your new pool.
You can also change the shape of the proxy to be one of the monsters it contains, and you do that in the proxy's Actor Variables.
Proxy scale and color conventions
Monster Proxies are classified by scale and color of the image in the editor, as shown below --
Green Monster Proxy = "Patrol". Use for a small number of monsters such as a small patrol (1-4 monsters)
Yellow Monster Proxy = "Group". Use for a medium number of units such as a group (4-8 monsters)
Red Monster Proxy = "Camp". Use for a large number of monsters' such as the monster camp / headquarters (8-15 monsters)
Special Category Proxies:
Pink Monster Proxy = Quest Proxy. These are intended to be used in scripted scenes and quests
Orange Monster Proxy = Boss Proxy. These contain the boss monsters and their bodyguards
Purple Monster Proxy = Hero Proxy. There is only one Hero Proxy in the original game, hero_djinn_bloodsisters.dbr
Scale of Proxies:
Small Scale Proxies (Labeled with "E" in the name) = Estimated challenge: easy. (Basic monsters used more for scripting / decoration than fighting against)
Medium Scale Proxies (Labeled with "N" in the name) = Estimated challenge: normal. (Few elite units or casters)
Large Scale Proxies (Labeled with "T" in the name) = Estimated Challenge: tough. (Many elite units / casters)
Scale and colour (= texture) are set in the proxy's Actor Variables. If you create your own proxies, you can of course decide not to follow the conventions.