Jump to content

BUGS!


Kelandon

Recommended Posts

It's that time again! Yes, time to develop a comprehensive list of known bugs as of right now in BoA. You may ask, haven't we done this before? Yes, we have, and the most recent topic that I remember was this one .

 

Why do it again? I think it's useful for designers to know about all the features of the designing system, including the "undocumented features."

 

Here are some ground rules:

 

1. Bugs should be real bugs. That means you should be able to give precise instructions about how to reproduce them. They are not features that you wish were included but aren't. They must be things that don't work as described (or really ought to be described differently).

 

2. They should not already be listed either in this post or on Spiderweb\'s bugs page . We want new bugs, if they exist.

 

3. Ideally, I'd like to separate these into a few different categories: internal BoA bugs, editor bugs, and corescendata bugs.

 

4. If you have any further information about a bug (it's been fixed, for example), post and say so. Also, there are a few bugs here that I've never attempted to reproduce, so I have questions about them in parentheses after the bug. If anyone knows the answer, be sure to post to let me know.

 

Known undocumented bugs/problems in Mac-BoA v1.1.2 or Win-BoA v1.0.3:

Scripting problems

* Items don't stack when given via char_give_item (so if you give three potions of the same kind, the character ends up with three different potions). This doesn't happen with reward_give or other item management calls as far as I know.

* Sometimes searchable terrain breaks. For certain terrain with the searchable and container attribute, they are only searchable if there is something inside the container. This means that the call te_can_look_at doesn't do a lot.

* The call put_stain_on_space sometimes does nothing when attempting to remove a stain. This is a bit unpredictable, but most of the time that I've tried it, it does nothing. It also works fine putting a stain down, just not removing it.

* As described here , in a dialog box, choosing the second dialog choice always returns the number 2, even if the dialog choice was added as the third option.

* Custom scripts for joined NPCs don't do much. Everything except the DEAD_STATE is ignored. (Is this still true? Do any other states work?)

* The call num_killed_in_town always returns 0. (I have not verified this.)

* The call create_text_bubble cannot be called from a terrain script, even though the docs say that it can. (I have not verified this.)

* Something odd and undocumented is going on with the clear_town call. The description of the problem is here .

 

Corescendata and default graphic errors

* In corescendata, Augmented Giant (creature 135) ought to have the line "cr_which_sheet_upper = 1618;"

* The default rakshasa image needs realignment -- it has a black line on it.

* The slith avatar, in order to match Avernum 1, should not have the graphic of a gorgon, which is what it has now. Two calls need to be added: cr_which_sheet = 1532 and cr_icon_adjust = 2, as Bahssikava does.

* In corescendata.txt Floor #80 (fake lava) is not blocked by default. NPCS may walk upon it, thus giving away the fact that the lava is indeed fake.

* In corescendata2.txt Terrains #172 and #173 (fences) have an incorrect name. The line te_name = "Fence"; needs to be added to them.

* In corescendata2.txt Terrain #331 and #332 (underground hillside cave entrances) import the incorrect terrain. This causes problems with the automatic hills functionality of the editor. It will also cause the party to be drawn incorrectly when upon these terrains.

* In corescendata2.txt Terrain #367 (ruined statue) is missing the upper half. The lines te_second_icon = 1; and te_second_icon_offset_y = -55; need to be added to correct this.

* Graphics sheet 680, icon 52, is incorrectly drawn. It needs to be flipped horizontally to be correct.

* Graphics sheet 768, icon 8, has 3 off-white pixels.

* The efreet (creature 174) has cr_natural_armor defined twice, the first time as 15 and the second time as 50.

* The default Eyebeast graphic (1552) has its icons in the wrong order. This means that the creature will appear to be facing south when it's actually facing north in the editor, east when west, west when south, and north when east.

* As far as I can tell, aranea (and elder aranea) default to carrying pots. I'm assuming that item 373 was aranea fangs, once upon a time.

* Floors 85 and 86 have fl_ed_which_icon reversed. Floor 85 should have icon 7, and floor 86 should have icon 6.

* The default Asp graphic (1551) has its icons in the wrong order. North and west are reversed.

 

Documentation problems

* The call move_to_new_town can't be called from an INIT_STATE, a START_STATE, a creature script, or a terrain script, even if you distance the call from the state with set_state_continue, run_town_script, or run_scenario_script. (I put this under documentation because apparently this would be hard to change.)

* The call it_bonus may be described inaccurately. It does not provide any protection for rings, necklaces, and bracelets, and instead of preventing the given amount of damage, it prevents a random amount of damage up to the given amount. (I have not verified this.)

* The call get_unlock_spell_strength is undocumented.

* The constants BASE_TRAP_XP (which is 50) and NUM_CHARS (which is 120) are not documented. In fact, it'd be nice to have a list of constants somewhere like the one that Khoth posted.

 

Misecellaneous engine issues

* Outdoors signs don't work sometimes. (Does this still not work? Jeff claims that he fixed it for v1.1.2.)

* If cursed items are placed on ground/in a container in the editor, they lose their cursed ability. (I have not verified this one.)

* Enter-combat-end-combat bug: you can get placed in totally nonsensical locations when ending combat. If you enter and then end combat immediately, you get placed one space forward. This allows you to skip special rectangles extremely easily unless specifically prevented from doing so by a designer.

* Beam projectors malfunction wildly in close quarters, next to walls, in varying heights, etc. I have a small utility scenario to demonstrate a number of ways in which this can occur.

* When a regular PC is next to a spot and you look at that spot, you search the spot. If only a joined NPC (and not a regular NPC) is next to a spot, however, you don't search the spot. (It just seemed odd to me. Not sure it's a "bug" bug, though.)

* On Win98, crashes have been observed when monsters use missile attacks. (This may be hard to track down, though.)

* Putting a town border right next to the edge of the town causes weird behavior: you can't exit the town, the town doesn't match the edge, etc.

* When a creature can't get to a location that it's trying to get to, the game slows to a crawl. For example, when a creature gets lured out of a building through an open door, the door gets closed, and then the creature tries to return_to_start, the game slows. (This has been reported on Windows, and I have not verified it personally.)

* Unlike the traditional Orb of Thralni, items with it_ability_1 = 213 can give the party extra rounds of flight while the party is still in the air.

 

Unhandled Exceptions

Various things cause Unhandled Exception errors on Windows that cause BoA to quit entirely without giving a proper error message. These are extremely hard to debug for Mac designers, since they do not reproduce in the same way on a Mac, except for a few that are noted. Among them:

* Using a terrain or floor graphic that doesn't exist. This is a problem with wallsets that are not complete, for example: if you place a wall with a door from a wallset that doesn't include a door (ie, cave wall), this causes an unhandled exception.

* Setting a creature facing a direction greater than 7 -- ie, set_character_facing(6,8).

* Running the death animation of a creature with cr_small_or_large_template set wrong -- that is, if the creature's graphic is small but cr_small_or_large_template = 1 in the scenario's custom objects script, then BoA crashes without an error message and quits. This happens on Mac, too.

* Over-running the string limit. I got an unhandled exception in Vasskolis when I tried to display a message from the text buffer that was longer than 256 characters. I'm not sure if over-running the text buffer itself was the problem or if trying to display it was the problem, but either way, the over-long string didn't give the over-long string error like it does on a Mac.

* If you try to use a string variable while nothing's in it (i.e., you forgot the get_buffer_text call), BoA dies. On Mac-BoA v1.1.2, it crashes, gives no error message, and quits. I got this with a message_dialog call, but I imagine a print_str or text bubble would give the same response. Also, using a dialog string with nothing in it causes the same error.

Link to comment
Share on other sites

DATA FILE ERRORS:

  • In corescendata.txt Floor #80 (fake lava) is not blocked by default. NPCS may walk upon it, thus giving away the fact that the lava is indeed fake.
  • In corescendata2.txt Terrains #172 and #173 (fences) have an incorrect name. The line te_name = "Fence"; needs to be added to them.
  • In corescendata2.txt Terrain #331 and #332 (underground hillside cave entrances) import the incorrect terrain. This causes problems with the automatic hills functionality of the editor. I think it will also cause the party to be drawn incorrectly when upon these terrains.
  • In corescendata2.txt Terrain #367 (ruined statue) is missing the upper half. The lines te_second_icon = 1; and te_second_icon_offset_y = -55; need to be added to correct this.

GRAPHICS SHEET ERRORS:

  • Graphics sheet 680, icon 52, is incorrectly drawn. It needs to be flipped horizontally to be correct.
  • Graphics sheet 768, icon 8, has 3 off-white pixels.

MISCELLANEOUS:

  • The terrain characteristic te_can_look_at is broken.

SUBJECTIVE:

  • In corescendata2.txt Terrain #360 and #361 (lampposts) have poor offsets. They look better with the lines te_icon_offset_y = -13; (added to #360) and te_icon_offset_y = -14; (added to #361).
  • In corescendata2.txt Terrain #405's name is "Outdoor Camp". It's a campsite, or a camp, what if someone wanted to use it indoors for a pack of midgets, or something? You could change it in scennamedata.txt BUT there is no reason for the "Outdoor" part to be there in the first place.
  • In corescendata2.txt Terrain #406's name is "Outdoor Totems". They're totems, what if someone wanted to use it indoors or something? You could change it in scennamedata.txt BUT there is no reason for the "Outdoor" part to be there in the first place.

EDITS 1 & 2:

  • Painting floors over/under (whatever) signs causes them to go blank.
  • You can steal multiple items in one go, and your crime level will only ever increase by 1.
Link to comment
Share on other sites

Quote:
Originally written by CPeters:
[*]The terrain characteristic te_can_look_at is broken.
In what way? It never does anything, or...?

Quote:
In corescendata2.txt Terrain #367 (ruined statue) is missing the upper half. The lines te_second_icon = 1; and te_second_icon_offset_y = -55; need to be added to correct this.
Huh. I thought that it was supposed to look like that, the idea being that the top part fell off.

Good job pointing these things out. I'm surprised that I'd never noticed the "Window" name for the fences before.
Link to comment
Share on other sites

Quote:
Originally written by Kelandon:
Huh. I thought that it was supposed to look like that, the idea being that the top part fell off.
The top part I'm referring to is part of the 'stump' for that ruined statue's leg.

Quote:
Originally written by Kelandon:
In what way? It never does anything, or...? </font><blockquote><font size="1" face="Verdana, Arial, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Originally written by CPeters:
  • The terrain characteristic te_can_look_at is broken.

</font><hr /></blockquote><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Some custom terrain I have made can be looked at, even when te_can_look_at = 0; Some custom terrain I have made cannot be looked at, even when te_can_look_at = 1; ... it doesn't seem to do anything.
.
EDIT:
  • Pathfinding is dodgy. If an NPC cannot get to where they are trying to reach, the game slows down to a crawl. I've noticed this with the approach_char() call, and the return_to_start() call.
Link to comment
Share on other sites

  • 2 weeks later...

*revives again*

 

Undocumented call: short get_unlock_spell_strength() - In a terrain script's UNLOCK_SPELL_STATE, returns the strength of the Unlock Doors spell used to trigger the state. The formula for the strength of Unlock Doors is not clear to me from experiments, but reasonable values seem to range between 15 and 30, relating to the caster's spell level, the skill in Intelligence, Mage Spell, and Magery, and possibly something else.

Link to comment
Share on other sites

I might have something. I couldn't get the num_killed_in_town call to give up any values other than zero no matter how many rats I killed.

 

Also the appendix claim that the create_text_bubble call could also be called from a terrain script. I couldn't get it to work, though.

Link to comment
Share on other sites

Under the Town and Scenario menus, respectively:

 

"Add Random Items" and "Edit Item Placement Shortcuts"... one of these is broken, because no matter what % probability I enter under Edit Item Placement Shortcuts, when I hit Add Random Items, everything's treated as 100%. Kinda takes the "random" out of the whole thing.

Link to comment
Share on other sites

  • 3 weeks later...
  • 4 weeks later...

The constants which are used in scripts from Jeff's scenarios, and their values. There may be more that he never used, that I don't know about.

 

ME -1

TRUE 1

FALSE 0

INIT_STATE 0

DEAD_STATE 1

START_STATE 2

EXIT_STATE 1

START_SCEN_STATE 111

SEARCH_STATE 100

TALKING_STATE 110

UNLOCK_SPELL_STATE 101

LOAD_SCEN_STATE 0

BLOCK_MOVE_STATE 112

DISPEL_BARRIER_STATE 113

STEP_INTO_SPOT_STATE 114

SANCTIFICATION_STATE 102

BASE_TRAP_XP 50

NUM_CHARS 120

Link to comment
Share on other sites

  • 3 weeks later...
  • 4 weeks later...
Quote:
Originally written by Pyrulen:
Quote:
This means that the call te_can_look_at doesn't do a lot.
I noticed this as well.

It means that all of my custom terrains are searchable and I cannot change this by setting te_can_look_at = 0.
Has anybody found a work-around for this yet?
Link to comment
Share on other sites

coresdendata.txt

* Pixie (#65): cr_species undefined, being 0 (human) the default.

* Centaur (#102): cr_start_item_2 & cr_start_item chance_2, both have two different values.

 

coresdendata2.txt

* item #74 (Cursed Halberd): it_cursed = 1, then it_cursed = 0. So, it's not cursed.

* #75 (Bronze Halberd): if the above is corrected, it will need its own "it_cursed = 0".

* #270 (Shield Ring): imported from item #264 (Ring of Vulnerability), it keeps the it_protection value to -3, and with this every other ring except the Armor Ring (it_protection = 12) and Quicksilver Ring (it_protection = 3).

* #353 (Bolts of Life): though magic, their assigned value is the same as for the common version (it_value = 40)

* #354 (Arrows of Light): as with the Bolts of Life, above (here: (it_value = 20)

* #361 (Ogrish Gauntlets): two different values for both it_ability_1 and it_ability_str_1.

* #362 (Giantish Gauntlets), #365 (Micah's Gloves) & #441 (Archer's Bow): as with the Ogrish Gauntlets, two different values for both it_ability_1 and it_ability_str_1.

* #390 (Rough Diamond): maybe not an error, this bauble is a missile, and more damaging than common Rocks.

Link to comment
Share on other sites

Quote:
Originally written by Mab:
coresdendata.txt
* Pixie (#65): cr_species undefined, being 0 (human) the default.
* Centaur (#102): cr_start_item_2 & cr_start_item chance_2, both have two different values.

coresdendata2.txt
* item #74 (Cursed Halberd): it_cursed = 1, then it_cursed = 0. So, it's not cursed.
* #75 (Bronze Halberd): if the above is corrected, it will need its own "it_cursed = 0".
* #270 (Shield Ring): imported from item #264 (Ring of Vulnerability), it keeps the it_protection value to -3, and with this every other ring except the Armor Ring (it_protection = 12) and Quicksilver Ring (it_protection = 3).
* #353 (Bolts of Life): though magic, their assigned value is the same as for the common version (it_value = 40)
* #354 (Arrows of Light): as with the Bolts of Life, above (here: (it_value = 20)
* #361 (Ogrish Gauntlets): two different values for both it_ability_1 and it_ability_str_1.
* #362 (Giantish Gauntlets), #365 (Micah's Gloves) & #441 (Archer's Bow): as with the Ogrish Gauntlets, two different values for both it_ability_1 and it_ability_str_1.
* #390 (Rough Diamond): maybe not an error, this bauble is a missile, and more damaging than common Rocks.
The centaur, archer's bow, ogrish gauntlets are not errors. The strength of an ability does not need to be the same as the ability ID. The chance of an item being on a monster does not need to match the item number.
Link to comment
Share on other sites

Ah, I mean they appear twice, with different values each time, like this:

 

Code:
 begindefineitem 362;	import = 148; 	it_full_name = "Giantish Gauntlets";	it_bonus = 6;	it_ability_1 = 50;	it_ability_str_1 = 3;	it_ability_1 = 51;	it_ability_str_1 = 3;	it_value = 3000;	it_magic = 1; 
Link to comment
Share on other sites

The bad news about corescendata errors is that they're fixable by the designers. Every scenario data file will get bloated by corrections that should be put into the corescendata files.

 

Yeah, sure, a small text file might not seem like much with compression and a fast internet connection, but think of how many times a scenario will be downloaded. (Especially if they have to include bugfixes for the corescendata files in them, because Jeff never bothers to make an official correction to corescendata.)

 

It's an unnecessary waste of bandwidth.

Link to comment
Share on other sites

  • 1 month later...

*revives*

 

Unlike the traditional Orb of Thralni, items with it_ability_1 = 213 can give the party extra rounds of flight while the party is still in the air. You don't have to land first.

 

This screws up the whole concept of having limited turns of flight.

 

As far as I can tell, a flying party skips all specials, too, which at least ought to be documented.

Link to comment
Share on other sites

Quote:
Originally written by Kelandon:
The BoA engine is in general not the same as the A1 engine, as should be obvious from the fact that A1 didn't have scripts and BoA does.
I don't know why that should be so obvious.

Actually, don't boter to reply with an answer, as I'm leaving this community anyway. My social life has improved to such extent, that I don't need alien friends whome I only see typing, and whome I can't hear talking. This doesn't mean I stop the testing of my current scenario. Moreover, ist likely I will make another scenario, and the Nephilim language will also be completed one day.
Link to comment
Share on other sites

Quote:
Originally written by Mc 'mini' Thralni:
Actually, don't boter to reply with an answer, as I'm leaving this community anyway. My social life has improved to such extent, that I don't need alien friends whome I only see typing, and whome I can't hear talking. This doesn't mean I stop the testing of my current scenario. Moreover, ist likely I will make another scenario, and the Nephilim language will also be completed one day.
Well... not sure what to think of this. I'm sure I'd have an opinion if your scenario had been released already, but as is, this is just kind of cryptic.

As for the flying stuff, there's still the workaround for giving it a special state in the scenario script, just a party status check. Granted that does nothing for making items that will transfer correctly.

So, flying skips the states completely? No way to force it? (I'm thinking a party status check again)
Link to comment
Share on other sites

To Thralni's post, I can only react with an enormous *facepalm*.

 

Ephesos: It appears to skip everything. I had a message_dialog and a block_entry on a space outdoors and my flying party was affected by neither. I haven't tried doing anything indoors, though, and I haven't tested this extensively.

 

It might almost be better that items that confer flight be not transferable between scenarios. If anyone has to make an Orb of Thralni-type item, I strongly suggest using a special state rather than the item ability.

Link to comment
Share on other sites

Quote:
Originally written by Kelandon:
To Thralni's post, I can only react with an enormous *facepalm*.
Oddly enough, my reaction to this was also *facepalm*. Literally.

Quote:
Originally written by Kelandon:
It might almost be better that items that confer flight be not transferable between scenarios. If anyone has to make an Orb of Thralni-type item, I strongly suggest using a special state rather than the item ability.
Very true... my best party still has a bunch of "Scrolls of Flight" from testing Shipwrecked. We need some sort of designer-authored agreement to prevent unleashing this sort of problem. A Geneva Convention of sorts, but one that people will actually listen to.
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...