I tried all kinds of search terms and could not find what I was looking for, so my search-fu must be weak as I am sure someone has asked for this by now.
A developer has developed a Vassal module – in this case it is for Battlelore – and I am developing an extension which has a series of new scenarios and unit types bundled with it. However, I also want to add a new trait to the existing game pieces without reproducing all of those game pieces.
For example, the module has a Human Archer game piece and I want to add an icon of a white feather in the lower right corner to indicate the unit is cowardly.
I’ve tried copying one of the prototypes, using the same name, and adding my new trait definitions to it, but the extension complains about duplicate names and does not seem to override the original. So, unless I am doing something wrong, it seems like I need a different approach.
Is it possible to drop another game piece – one of my own definition – on the Human Archer game piece and make it ‘stick’ to the latter?
In the end, my goal is to add capability to the extension, without requiring any modification to the original module. I was hoping for some sort of sub-classing or override mechanism.
Unfortunately, an extension can’t add new traits to an existing module’s pieces. You can’t modify anything in the base module, and adding a trait to a piece qualifies as modifying the module.
You would need to create brand new pieces in the extension. One way of doing that: in the extension editor, copy an existing (grayed-out) piece from the base module and paste it into the extension. Then modify the piece you just pasted (add new traits, etc.) without having to create the piece from scratch.
Mycenae is right, you can’t add a trait to units defined in a module from an extension.
However, there is a technique you can use if you are able to change the base module. Add a new Prototype, say called EXT1, to every counter in the base module. Do NOT create a prototype named EXT1 in your base module.
Now, define the EXT1 prototype in your extension with any new traits.
When a user uses the base module with no extensions, prototype EXT1 is ignored because it does not exist. When you use the base module with your extension, all newly created counters defined in the base module will now have your extended traits.
How about my alternate idea: Is it possible to drop another game piece – one of my own definition in the extension – onto the Human Archer game piece defined in the base module and make it ‘stick’ to the latter?
I’m developing an extension for my new BattleLore module which requires to modify units defined in the module. I stumbled upon this thread and I followed Brent’s brilliant advice. I’ve got a problem, however. The units in the module are organized in a game Piece Palette. They are distributed over different panels in a tabbed panel. It seems that units in the first panel do not “see”, so to speak, the prototype defined in the extension. Units in all subsequent panels do it has expected. I checked by switching the order of the panel and the problem seems to be only in the position the units occupy in the panels. Any advice?