Bug list and suggestions

Error message

Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /var/www/pied-piper.ermarian.net/includes/common.inc).

Pages

AuthorTopic: Bug list and suggestions
Agent
Member # 2820
Profile #0
Considering that there is a big topic going on about suggestions for new calls in the BoA Editor forum, I thought it might be fitting to start this topic. If you know of any unknown bugs or issues in BoA, post them here.

The idea is that if Jeff implements the calls in SF3, then it would make sense to add together the bug fixes into one patch since he always complains about bandwidth for multiple patches and such.

Keep suggestions to the engine an absolute minimum unless they are important.

*get_nearest_char() and get_nearest_good_char() always return the monster running the script; originally meant for terrain scripts, but it could be tweaked

*The "line of sight" should be tweaked because sometimes A can see B, but not the other way around

*When a monster’s level is changed with set_level(), the stats only change to what they would be on normal difficulty, problems arise when you are not playing on normal

*The forcecage spell needs to be tweaked; monsters can move around town mode, but they cannot attack nor be attacked; Wall of Blades for some reason hurts forcecaged creatures if adjacent to a target

*It is sometimes impossible to select an something behind high terrain,

*The items that the party can get with the 'Get' command are not restricted by beams, special encounters, or even dangerous floors/terrain

*The search action is available as long as one of the PCs is next to a hot spot and it is visible, but this doesn’t take into account if there is a blocked space or beam in the way

*Fix docs to say print_big_str_num() instead of print_big_str_color(); former call only prints in blue and the 4th parameter is thrown out

*char_take_item() doesn't work

*town_status(), set_town_status(), make_town_hostile() don’t work

*The ME macro doesn't work for the level calls

*print_num[s]() won't print negative numbers

*Placing a spawn_creature() call after the character is erased in the DEAD_STATE of the creature causes the game to crash

*Giving a crossbow in the editor to an NPC that has a bow crashes the game

*Cycling leftward on the inventory description screen past your armor slot crashes the game

*Sometimes approach_waypoint() and maintain_dist_to_char() cause the affected creature to instantly appear at the place it 'wants' to go

*Fix beam bugs; Beams will destroy any terrain that can crumble that is in its path. A beam is considered to have passed through the spot with a mirror when it encounters it; therefore a terrain that can crumble with a mirror placed in it will crumble when a beam hits it

*Friendly NPCs do not regain spell points/energy

*get_courage() call actually takes in 2 integers, the first one is the character whose courage will be returned, and the second is a dummy number.

*If you move the screen around by using the NESW buttons on the corners of the playing screen, you can use the 'look' command to interact with objects as if you were in the center of the screen; this exludes searching containers; but includes, though not limited to, activating scripts [specobj, door, etc.], reading signs, and clearing webs.

*Apparently, the negative sign for the use of negating a value only works for constants, and not variables or functions that return integers. The game says will say it is missing an integer. For example, the value -5 works, but
i = 5;
-i;
will cause an error. So will something like:
f(n) = 5;
-f(n);
causes an error. The workaround is to either do (0 - x), or (-1 * x) where x is either a variable or a function, but this is just poor implementation on Jeff's part.

*Here's one that is somewhat difficult to explain in words that involves set_char_status() and get_char_status().
For reference:

void set_char_status(short which_char_or_group,short which_status,short how_much,short
is_forced,short give_update)
- Changes status which_status for character/group
which_char_or_group by amount how_much. If is_forced is 1, the status is always changed by
the full amount. If is_forced is 0 then, for negative statuses, the character’s resistances
apply.
If the status is forced, no update will be given. Otherwise, an update will be given if give_update is 1.

short get_char_status(short which_char,short which_status) - Returns the current value of
status which_status for character which_char.

If is_forced is 1, then setting status 1 will affect shielding and setting status 2 will affect blessing (which it is not supposed to do). Otherwise, it will act according to the docs.

But get_char_status() always uses the flipped values, so getting status 1 would return the shielding level instead of blessing, etc...

But the rest of the status types work OK with these calls.

*Might not be a bug, but the automatic attack that a character gets against another character when the hostile one moves away from the other when they were standing next to each other DOES cost the attacking creature AP

*Species 12 (Special) is documented to be immune to assassination, but that is not so. Special creatures also have no resistance towards being stoned.

*change_char_health() will not affect creatures that split, possibly because splitting creatures don't regain health

======================

+Light should be recalculated when terrain changes and special effects are on

+The outdoor path finding AI is not given enough time like in Town mode to intelligently seek out the party

+Stealing should also be seen when friendly creatures see the party when they steal, like in BoE

+Waiting on dangerous floors should continue to damage party, likewise doing so on a persistent encounter should do the same

+There are problems with the party moving in and out of combat. They jump around, move through encounters, sometimes can't even exit out of combat because the game likes "single-file" parties.

+The change_spell_level() call is difficult to use for monsters because the game announces each spell that is changed and what level it has been changed to. It kind of ruins the atmosphere when it says something like "Wizard learns Arcane Blow at level 5." Maybe the message shouldn't pop up for characters other than your own.

[ Sunday, September 19, 2004 14:08: Message edited by: Garrison ]

--------------------
Thuryl: I mean, most of us don't go around consuming our own bodily fluids, no matter how delicious they are.
====
Alorael: War and violence would end if we all had each other's babies!
====
Drakefyre: Those are hideous mangos.
Posts: 1415 | Registered: Thursday, March 27 2003 08:00
Agent
Member # 2820
Profile #1
This can't be right, but it seems that get_char_status() doesn't work. It always returns 0 in my script.

--------------------
Thuryl: I mean, most of us don't go around consuming our own bodily fluids, no matter how delicious they are.
====
Alorael: War and violence would end if we all had each other's babies!
====
Drakefyre: Those are hideous mangos.
Posts: 1415 | Registered: Thursday, March 27 2003 08:00
Infiltrator
Member # 148
Profile #2
Here is another bug/problem:

Light will shine thorugh "block view" objects. Nothing blocks a lights radius. Nothing. So light will go through solid walls...

EDIT: Light can be blocked. I saw it another scenario... So what makes it shine through in others?

[ Monday, August 23, 2004 13:06: Message edited by: Dahak ]

--------------------
My ego is bigger than yours.
Posts: 480 | Registered: Thursday, October 11 2001 07:00
BANNED
Member # 4
Profile Homepage #3
Re entering and leaving combat- this was a problem in multiple games. As the Celts, I wandered leisurely around Shadow Valley Fort. I outright skipped the Maze of Thorns as Romans. Et cetera.

--------------------
*
Posts: 6936 | Registered: Tuesday, September 18 2001 07:00
Agent
Member # 2820
Profile #4
Can give me a fairly detailed description of when light goes through blocked objects, Dahak?

I think Jeff did a little with the end-combat placement algorithm, but not enough since it still happens sometimes. Sometimes when you go into combat from a small space and try to go back to town mode, it says you can't because 'there isn't enough room'!

--------------------
Thuryl: I mean, most of us don't go around consuming our own bodily fluids, no matter how delicious they are.
====
Alorael: War and violence would end if we all had each other's babies!
====
Drakefyre: Those are hideous mangos.
Posts: 1415 | Registered: Thursday, March 27 2003 08:00
Infiltrator
Member # 148
Profile #5
Nevermind Garrison. I found and fixed the problem. The probelm was that light is calculated in the Editor, and not in the game. However, I was using the 3D editor. When the game is opened and saved using Jeff's editor, the problem ceases to exist.

I'm letting Issac know about this problem.

--------------------
My ego is bigger than yours.
Posts: 480 | Registered: Thursday, October 11 2001 07:00
Warrior
Member # 4202
Profile Homepage #6
Oh well, I'll go fix that then.

--------------------
Creator of the 3D Blades of Avernum Editor for Mac. Get it at Ingenious Isaac's Illusion, my web page. Better yet, get Battle for Wesnoth, a wonderful free TBS game.
Posts: 192 | Registered: Sunday, April 4 2004 08:00
Off With Their Heads
Member # 4045
Profile Homepage #7
The most irritating part about the ending combat bug is that one can enter combat, leave it immediately, and be one space in front of where one was before. In this manner, one can skip over any number of special encounter rectangles without any difficulty at all. It was at least challenging in A1 to invade the Strange Cave (using Silver's method). In BoA, it wouldn't be hard at all.

I made a scenario demonstrating a few bugs and sent it off to Jeff. The most interesting ones involve beams working in really funky ways in close quarters. For instance: set up a projector with a source next to it, so that it's on. Put a mirror directly in front of it with no intervening space. The projector doesn't shoot.

Now remove that mirror but place one in the INIT_STATE of that town's script. Put a wall blocking the direction that the beam will shoot coming from the mirror. Make sure it's in the same square as the placed mirror (which is why it has to be an object and not be a terrain). It blocks the beam, right? Now stick something that can crumble in the space next to the wall. It crumbles. Oops.

I showed Jeff this and his response was something along the lines of, "The beam code was really, really complicated and I'm afraid that any change I make that fixes a bug will then create two more bugs."

Sigh.

[ Wednesday, August 25, 2004 20:02: Message edited by: Kelandon ]

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Agent
Member # 2820
Profile #8
New bug.

--------------------
Thuryl: I mean, most of us don't go around consuming our own bodily fluids, no matter how delicious they are.
====
Alorael: War and violence would end if we all had each other's babies!
====
Drakefyre: Those are hideous mangos.
Posts: 1415 | Registered: Thursday, March 27 2003 08:00
Warrior
Member # 286
Profile #9
If Jeff's beam code is really that complicated, he needs to rewrite it completely. Constant refactoring is your friend, JV. :)

--------------------
Z: "I just feel so insignificant."
Psych: "You ARE. You're an ANT."
--Antz
Posts: 104 | Registered: Saturday, November 17 2001 08:00
Agent
Member # 2820
Profile #10
So you are saying that a projector beam will destroy whatever spaces it is considered to have occupied, and the mirror space is considered so?

Small bug, but a simple check for mirrors would fix it, so I think he is just lazy.

--------------------
Thuryl: I mean, most of us don't go around consuming our own bodily fluids, no matter how delicious they are.
====
Alorael: War and violence would end if we all had each other's babies!
====
Drakefyre: Those are hideous mangos.
Posts: 1415 | Registered: Thursday, March 27 2003 08:00
Shaper
Member # 73
Profile #11
quote:
Originally written by Garrison:

...so I think he is just lazy.
Quite.
How long has it been since he released BoA? He said he would do bug fixes and stuff for a certain amount of time after release, and then stop.

--------------------
My Myspace, with some of my audial and visual art
The Lyceum - The Headquarters of the Blades designing community
The Louvre - The Blades of Avernum graphics database
Alexandria - The Blades of Exile Scenario database
BoE Webring - Self explanatory
Polaris - Free porn here
Odd Todd - Fun for the unemployed (and everyone else too)
They Might Be Giants - Four websites for one of the greatest bands in existance
--------------------
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Posts: 2957 | Registered: Thursday, October 4 2001 07:00
Agent
Member # 2820
Profile #12
New bug. Yes, I am actively looking for them.

--------------------
Thuryl: I mean, most of us don't go around consuming our own bodily fluids, no matter how delicious they are.
====
Alorael: War and violence would end if we all had each other's babies!
====
Drakefyre: Those are hideous mangos.
Posts: 1415 | Registered: Thursday, March 27 2003 08:00
Off With Their Heads
Member # 4045
Profile Homepage #13
I sure hope you're keeping the test scenarios where you demonstrate these bugs, because Jeff's going to want confirmation. I had to make a special scenario for him that demonstrated the beam thing before he would even look at it.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Apprentice
Member # 4258
Profile #14
Another bug to add to the list:

There is a way to search/use any object that you can currently look at, even if none of your party members are near it. First, click on the Look button. Second, use the buttons on the border of your view to scroll the screen around until the object is near the center. Third, click on the object to search it.

This can be used to activate terrain scripts that can be searched. For example, you could close a door that you were not next to, or pull a chain wheel to open a gate even if you were behind it. However, the bug cannot be used to open containers that are out of reach.

Note: I found this in the Mac version, I have no idea if the PC version also has this bug.

[ Sunday, August 29, 2004 13:27: Message edited by: Gorvin ]
Posts: 28 | Registered: Wednesday, April 14 2004 07:00
Agent
Member # 2820
Profile #15
Holy ****, are you serious? That is one of the worst examples of programming I have ever seen. Off to test...

EDIT: Sad to say, 'tis true.

[ Sunday, August 29, 2004 15:35: Message edited by: Garrison ]

--------------------
Thuryl: I mean, most of us don't go around consuming our own bodily fluids, no matter how delicious they are.
====
Alorael: War and violence would end if we all had each other's babies!
====
Drakefyre: Those are hideous mangos.
Posts: 1415 | Registered: Thursday, March 27 2003 08:00
Infiltrator
Member # 148
Profile #16
I wonder if that happens because the party is assumed to be in the center of the screen. If the scripts is near the center of the screen, then the game thinks that the party is next to script.

Hmm. Doubtful.

--------------------
My ego is bigger than yours.
Posts: 480 | Registered: Thursday, October 11 2001 07:00
Off With Their Heads
Member # 4045
Profile Homepage #17
Eh, the description of my beam bug is a little off. Basically, what I was saying is that the beam will crumble a terrain that's adjacent to it even if a wall is in the way. I'm not sure how generally this applies, but it definitely occurs when a placed object mirror (placed in the INIT_STATE, say) is in the same terrain as a wall and the beam redirects in the direction of a crumble-able terrain on the other side of the wall.

So, like, I have this in the INIT_STATE:
put_object_on_space(11,17,5);

Now there's a ne/sw mirror on (11,17). Let's say I have a source at (6,17) and a east-facing projector at (7,17), so it shoots a beam at (11,17) to get directed north. Now I put terrain 54 (a wall) on (11,17), which I can do because the mirror was an object, not a terrain. That wall blocks the beam. It will not continue northward to, say, (11,12). However, let's say I have a projector sitting on (11,16). It will crumble.

There's a wall in the way, but the beam still kinda passes through.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Agent
Member # 2820
Profile #18
That's the only reasonable assumption. And by the way, I have no concrete examples to support any of these. These are just well documented observations. But I assure you that all of them ARE bugs that exist.

--------------------
Thuryl: I mean, most of us don't go around consuming our own bodily fluids, no matter how delicious they are.
====
Alorael: War and violence would end if we all had each other's babies!
====
Drakefyre: Those are hideous mangos.
Posts: 1415 | Registered: Thursday, March 27 2003 08:00
Warrior
Member # 286
Profile #19
quote:
Originally written by Gorvin:

There is a way to search/use any object that you can currently look at, even if none of your party members are near it. First, click on the Look button. Second, use the buttons on the border of your view to scroll the screen around until the object is near the center. Third, click on the object to search it.
...

...

Jeff, can you hire me to write your code next time?

--------------------
Z: "I just feel so insignificant."
Psych: "You ARE. You're an ANT."
--Antz
Posts: 104 | Registered: Saturday, November 17 2001 08:00
Infiltrator
Member # 148
Profile #20
quote:
Originally written by Crunchy Frog:

quote:
Originally written by Gorvin:

There is a way to search/use any object that you can currently look at, even if none of your party members are near it. First, click on the Look button. Second, use the buttons on the border of your view to scroll the screen around until the object is near the center. Third, click on the object to search it.
...

...

Jeff, can you hire me to write your code next time?

I suppose that if he does nothing we can all edit the scripts to determine the position of all the party members, and check to see if they are adjacent.

--------------------
My ego is bigger than yours.
Posts: 480 | Registered: Thursday, October 11 2001 07:00
Warrior
Member # 286
Profile #21
That's true. Well, at least there's a workaround. :)

--------------------
Z: "I just feel so insignificant."
Psych: "You ARE. You're an ANT."
--Antz
Posts: 104 | Registered: Saturday, November 17 2001 08:00
Apprentice
Member # 4921
Profile #22
Bugs:

I've had a few problems with the ending combat rearrangement of characters, too - in several cases, it's put my characters into hazardous terrain (lava and beams) that they were originally nowhere near. In the case of the beams, the beams were there originally (it would be understandable if ending combat put a character into a space soon to be cooked by a beam).

Also, when targetting monsters for long range attacks, I've had problems with targetting monsters that overlap. If a monster is elevated and standing right in front of another monster, it's impossible to target the one on top. Even the keyboard shortcuts don't work; pressing the button that would ordinarily hit the one on top only selects or deselects the lower monster.

Suggestions:

I know these things aren't going to change, but I'm missing some of the older spells (specifically, Beast Ceremony and Divine Warrior). Just curious - why were those ones dropped in favor of Forcecage and Divine Retribution?

--------------------
Hyouko, as in icy lake.
Posts: 3 | Registered: Tuesday, August 31 2004 07:00
Off With Their Heads
Member # 4045
Profile Homepage #23
Beast Ceremony was dropped 'cuz it's kind of useless -- can do the same thing with Bless and Haste and Shield -- and Divine Warrior was dropped because it's "unbalancing."

But now Divinely Touched gives the same sort of unbalancing super-strength as Divine Warrior, so it has become unbalancing. Divine Retribution seems pointless, so it would be nice to have Divine Warrior back, but that seems unlikely at this point.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Agent
Member # 2820
Profile #24
Beast Ceremony is not useless. It is saves a lot of time when you need to bless your party, and WORKS OUTDOORS.

Very helpful for outdoor fights.

Divine Warrior was overpowered, but Divine Retribution is so UNDERpowered. If it did every single negative effect imaginable and did a little more damage, it would be worth it. The effects should affect all creatures not immune, but only living creatures would be damaged, I guess.

Forcecage should've been able to affect more targets, or at least hold them longer.

Spray acid is the most useless spell, though. If the damage stacked exponentially and would do damage at the initial casting and have multiple targets, it would be worth it.

The monster thing you are describing is the same thing as the terrain thing I already have up there.

--------------------
Thuryl: I mean, most of us don't go around consuming our own bodily fluids, no matter how delicious they are.
====
Alorael: War and violence would end if we all had each other's babies!
====
Drakefyre: Those are hideous mangos.
Posts: 1415 | Registered: Thursday, March 27 2003 08:00

Pages