Tech Support For the Editor
On this page, you will find all of the latest updates and bug
alerts for the Blades of Avernum Scenario Editor for both Macintosh
and Windows. If you are looking for
support of the actual game, please go here.
Up-To-Date List Of Issues With the Editor/Game System
There are a number of problems with some of the calls in Blades of Avernum. Also, several of the creatures, terrain types, and other assets in the default scenario data script are faulty. A list of problems calls is given here.
Reading through this list is a good idea for new scenario designers. It is recommended that you avoid using the faulty calls.
Editor Support for the Macintosh and Windows
Jump to Section:
General Minor Issues With Scripting
Mixed Scenario Design Issues
Important Note About Custom Graphics For the Macintosh
Blades of Avernum v1.2 and later for the Macintosh are far touchier about the format for the PICT resources in custom graphics. The frame for each PICT resource has to be all the way to the upper left (in other words, the top and left values have to be 0).
In ResEdit and Resourcerer, you can check the frame rectangle for the PICT resource by opening it and opening the detailed information window. If the top and left values for the PICT's rectangle are not both 0, the graphic will not look right in the game.
Most graphics editors (like Photoshop) don't ever cause this problem. Only a few of them (AppleWorks being the most common) create PICT resources with bad framing rectangles.
To solve the problem, copy-paste the PICT into a graphics editor, move the graphic to the far upper left, and copy-paste it back into the resource file. Alternately, simply copy-paste it into Photoshop and then copy-paste it back into the resource file.
It is unfortunate that this is necessary. It is an unfortunate result of the way Universal code handles PICT resources and how badly some graphics editors (especially AppleWorks) handle PICT resources.
Mixed Missiles Crash
It is possible to get an error on Macintosh systems or a crash on Windows
systems when you set a creature type to be able to start with multiple
varieties of missile weapon (e.g. bows, thrown missiles, etc.). For
example, if a creature can start with a bow or with razordisks, you can get
To work around this, have any given creature type only carry one variety of
missile weapon. The creature can potentially have different versions of
that weapon (for example, a nephil archer can potentially have a yew or
cavewood bow), but don't have a single creature type that can have a bow or
a crossbow, or a bow or javelins.
Problems With town_status Calls
The call town_status only works when passed the valus -1 (for the current town). So town_status(-1) will return the status of the current town, but town_status([any other number]) won't work correctly.
Bug With get_nearest_char
If you use this call in a creature script, it will return the number of the creature whose script is running, not the nearest other creature. This makes the call useless for creatures (it was originally intended for use in terrain scripts). Alignment-based calls (like get_nearest_evil_char) work fine as long as you're looking for creatures of a different alignment.
Limited Usefulness Of deduct_ap and end_combat_turn
The calls end_combat_turn and deduct_ap were originally designed to only be
called in creature scripts. This is highly unfortunate, because these calls
are very valuable for custom abilities, and because there is no way to
reliably get them to work on PCs. If called in a scenario script, these
calls affect PC 0 only.
In later versions of Blades of Avernum (after v1.1 Mac and v1.0.1 Windows),
when these calls are used in a non-creature script, they will affect the
currently selected character (when not in combat) or the currently active
character (in combat).
char_take_item Call Doesn't Work
Don't use the call char_take_item. It won't work. Use the call take_item
instead. Note that this means that you can't take items from NPCs once they
have been given.
print_big_str_color Has Wrong Name
The call print_big_str_color is actually called print_big_str_num. It works
exactly like print_big_str_color, as described in the editor documentation.
Some Words About Error Line Numbers
There has been some confusion about line numbers for script errors.
Sometimes, the line number given is not where the error actually is.
Part of the reason for this is that Blades reports where it finds something
that doesn't make sense, not where you made your actual error. For example,
consider this code:
add_dialog_str(0,"This is a dialog string,0); // Line 10, notice a quote is missing
dummy = run_dialog(1); // Line 11
set_flag(0,0,1); // Line 12
message_dialog("Kaboom.",""); // Line 13
When this code is run, the editor will report an error in line 10. The
error will be that it doesn't recognize the command "Kaboom." This is
because the program thinks that the string that begins "This is a dialog
string" ends in line 13 (because a right quote is missing in line 10). The next thing it sees is the word "Kaboom", which it doesn't understand, so it says there's an error in Line 10, even though the bad command is on line 13.
This sort of thing is unavoidable. The editor can only tell you where it
sees that things have gone wrong, not where the actual error occurs.
In addition, there was a bug with line numbers in v1.1 (Mac) and v1.0.1
(Windows) and earlier. To fix this problem, download the special debugging
applications that can be used by scenario makers here.
Activating Debug Mode
Debug mode is not working is current versions of the main Blades of Avernum application. We have made special debugging applications that can be used by scenario makers. They can be downloaded here.
With this application, the call turn_on_debug_mode will work properly. However, it will break scripts and mess up your scenario if used by the regular game. Be sure to remove this call before releasing your scenario!
The call turn_on_debug_mode should be put in the state LOAD_SCEN_STATE in the scenario script. If you downloded the debug application before 6/30/04, there was a bug in that version. Download and use the current version.
Warning about the Advanced Item Management Calls:
Do not use the ME value for which_char for these calls. Use the creature's actual number. Inside a creature script, you can get this with the my_number call.
Typo In Section On Custom Graphics
The documentation says that a custom graphic can have a resolution of 8
bits (with a custom palette) or 16 bits. It should say that custom graphics
can have 8 bit or 24 bit color. Macintosh custom graphics can, in addition, have 16 bit color.
General Minor Issues With Scripting
- The ME paramater doesn't work with get_level or relocate_character.
If you want to use these calls inside a creature script, use
the my_number call.
- Mathematical expressions without spaces between terms may
cause errors. Instead of writing "x = 3+(2*i-1)",
write "x = 3 + (2 * i - 1)".
Also, the precedence of the % operator is peculiar. 2 + 4 %
5 is 6, not 1. Use parenthesis for stuff you use the % operator
on (for example, (2 + 4) %5).
- The call print_num won't properly print negative numbers. If you need negative numbers, use print_nums.
- alter_stat can't drop the main stats Strength, Dexterity,
Intelligence, or Endurance below the default starting level
for those stats. Which is probably a good thing.
- The descriptions of the calls char_on_loc and char_on_spot
are unclear (and the call names are unhelpful). char_on_spot
only checks for NPCs, so it will return -1 if one of the player's
characters is on that spot. char_on_loc checks for all characters
(as does char_on_me).
- Item special ability 89 does cold damage, not acid damage.
- Beam terrains (projectors, power sources, etc.) are always drawn animated. This is because the game handles these terrain types differently. If you want to draw one of these terrains without animation, make a custom terrain graphic and copy the icon into it.
- Precedence isn't quite right with subtraction and addition. Subtraction
and addition have the same precendence and are done from right to left, so
24 - 21 + 1 will be 2 instead of 4. To get subtraction to work right, you
may want to put it in parenthesis (i.e. "(24 - 21) + 1").
- Be careful not to use reserved or already used terms for variable names.
For example, don't have a variable called "shop". The word shop is reserved
for an action type in dialog nodes.
- Floor shimmering and similar special effects will not be drawn when, in
Preferences, special effects are turned off or the game speed is set to
- The desciption of add_item_to_shop in the documentation is unclear. This call can only add more items to a shop. If you use the call with a number of items of 0, the call just won't do anything. It won't remove the item from the shop.
- print_big_str_color ignored the color field. The text was always black. This is fixed in the versions more recent than 10/8/04.
- The description of the call get_courage in the documentation is wrong. It should read:
short get_courage(short which_char,short dummy_value) - Returns the current courage of which_char. Dummy_value is ignored.
Mixed Scenario Design Issues
- Do not give a creature both a bow and a crossbow. Do not give a creature both a two-handed weapon and a shield. This can cause a crash. This crash should be fixed in future versions. However, since this can still cause crashes in older versions, it should be avoided completely.
- If a terrain type a beam can crumble and a mirror are in the same spot, the terrain will always crumble, even if the mirror would reflect it. As a workaround, use crumbling terrains that fill the whole space, or place crumbling walls so that the party can't push a mirror into their space until the wall is crumbled.
- Friendly characters did not properly regain health or spell energy. If necessary, this can be worked around using a custom script. This is fixed in the versions more recent than 10/8/04.
- Characters with species "Special" are affected by Assassination and Lethal Blow. This is an error in the documentation, not a bug. However, special creatures are affected by stoning, which is a bug. This is fixed in the versions more recent than 10/8/04.
- When using set_char_status with is_forced set to 0, curse/bless and shield/weaken are flipped. So
will give character 5 10 levels of bless instead of shield (because the 1, which should be shield, is being read as bless instead).
- When getting items, Blades of Avernum is intentionally very liberal about what items can be taken by the party. Beams and damaging terrain (like lava) don't block getting. If you want an item to be unreachable by the party, place it inside a container.
- change_spell_level currently gives an unfortunate text message when used for a non-party creature. This is fixed in the versions more recent than 10/8/04.
for the Macintosh
The newest version of the Editor is v1.1.1, go to
the Blades of Avernum Scenario
Workshop for the new download. The Macintosh editor v1.1 and earlier would crash on Mac OS X 10.4 and later. To solve this problem, download the newest version of the editor.
Bugs in Macintosh v1.0 and v1.0.1 have been moved here.
for the Windows
The latest Windows version of the Blades of Avernum Editor is v1.0.3. Download it from the scenario workshop.
Back into the Scenario Workshop