Borg bugs and feature requests

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • agoodman
    replied
    Originally posted by eschiss1
    ah, that makes sense. Another question: I understand why the borg keeps switching out a really good (randomly generated) artifact in favor of a normal mace of extra attacks, but why does it keep removing, lately, an amulet with the following description (which it was wearing for awhile):

    "+3 intelligence.
    +1 light.
    Provides immunity to cold.
    Provides resistance to acid, lightning, dark.
    Slows your metabolism. Prevents paralysis."

    in favor of wearing nothing at all around its neck? This removes its only immunity against cold, so it's not compensated by some other change it's made recently...
    Here is how to tell. Fire up the game and load the save.
    type ^zp and note the power level it thinks it has. Then, if the amulet is on, take it off and hit ^zp and note the power level it has. Repeat this when you think he inappropriately takes off the amulet. One trick to help catching him doing this is using ^zs (match string) and putting in the name (same case) as the random artifact. Hopefully he will only get "chatty" about the amulet when he is taking it off.

    There are a few things that might be causing this.
    1) are you a necromancer? If so, having a light generating artifact might be considered an issue. It is possible that the negative for having the light is more than the positive of immunity to cold... which may be a bad calculation. There is likely a lot of tuning that can be done with necromancers.
    2) is it causing you to be over burdened? If it knocks you below some of ummm... baseline good speeds (+10, +20 etc) it might decide it doesn't want the weight and it is worth it to get rid of the amulet.
    3) Maybe it thinks it wants to swap in another amulet and doesn't get around to it because it takes off the amulet and then someone attacks him and he gets busy. This seems unlikely but it is possible
    4) some calculation it is doing could be "just bad". It is always possible that +3 intelligence got misread as -3 due to some bug. I list this but it seems unlikely since it seems like it would have shown up before now... but I have seen bugs that I thought were unlikely show up before.

    Leave a comment:


  • eschiss1
    replied
    ah, that makes sense. Another question: I understand why the borg keeps switching out a really good (randomly generated) artifact in favor of a normal mace of extra attacks, but why does it keep removing, lately, an amulet with the following description (which it was wearing for awhile):

    "+3 intelligence.
    +1 light.
    Provides immunity to cold.
    Provides resistance to acid, lightning, dark.
    Slows your metabolism. Prevents paralysis."

    in favor of wearing nothing at all around its neck? This removes its only immunity against cold, so it's not compensated by some other change it's made recently...

    Leave a comment:


  • agoodman
    replied
    Originally posted by eschiss1
    Which now makes me wonder why it drops/ignores useful items like rods of probing which would actually be pretty helpful that way
    because the borg isn't good at using them

    Leave a comment:


  • eschiss1
    replied
    Which now makes me wonder why it drops/ignores useful items like rods of probing which would actually be pretty helpful that way

    Leave a comment:


  • agoodman
    replied
    Originally posted by eschiss1
    ah, ok. (re the former, I sometimes see the borg targeting the monster and seeing its exact hit points, and think that it can access that information directly. This is not of course necessarily the case...)
    "The exact hp" is actually an estimate... at least it is supposed to be. The borg shouldn't have any information the player doesn't have

    Leave a comment:


  • eschiss1
    replied
    ah, ok. (re the former, I sometimes see the borg targeting the monster and seeing its exact hit points, and think that it can access that information directly. This is not of course necessarily the case...)

    Leave a comment:


  • agoodman
    replied
    Originally posted by eschiss1
    Further thing about crush, btw- it should never cast Crush if all the known targets in line of sight have more than or equal to 200 hit points (4*level, level no greater than 50, so no more than 200...) and since borgs apparently have access to "targeting such-and-so with x hit points" this information should at least sometimes be available to them. In a one-on-one fight with a GHW who was only greatly damaged, but not yet below 200 hp, casting Crush over and over (as I witnessed yesterday) - with predictably no effect - had a great risk of being fatal...
    (Edit: I like that the necromancer borg is using "Tap Unlife", a very effective spell against undead, more and more often; wish that they'd zap rods of speed when going into battle against difficult opponents more often, and wish they'd use Vampire Strike when they have it more often too- it has its faults, sometimes dropping you inamidst a whole bunch of foes (check those hp and resistances!) and sometimes doesn't work at all, but can be very handy , especially since the borg keeps -ignoring- the program demand to stock up on Heal potions, and keeps going down without proper healing. Good thing I'm running in Cheat mode as an experiment
    With crush, right now it does
    if ((kill->power * (100 - kill->injury)) / 100 < borg.trait[BI_CLEVEL] * 4)

    so, translate, if the power the thing has minus the injury I think it has is less than my level times four... and inside that if is (after a check for isn't on a wall) "assume I kill it with crush"... so it should only be killing things that are under 200hp ... and more so, under my level * 4. Now, it could be misestimating the amount of injury a creature has or how many HP it had to start with but the check is there. Perhaps it needs a "fudge factor" to avoid under estimating HP.

    For the other stuff, well, you have hooked into the more complicated borg coding issues. Collecting potions then using them up stupidly, not collecting them when he should, using things with good timing rather than bad timing. It is all hard to code and ends up with a lot of code for "oh, except in this case when you SHOULD use up the potions". I welcome other people to try their hand at it.

    Leave a comment:


  • eschiss1
    replied
    Further thing about crush, btw- it should never cast Crush if all the known targets in line of sight have more than or equal to 200 hit points (4*level, level no greater than 50, so no more than 200...) and since borgs apparently have access to "targeting such-and-so with x hit points" this information should at least sometimes be available to them. In a one-on-one fight with a GHW who was only greatly damaged, but not yet below 200 hp, casting Crush over and over (as I witnessed yesterday) - with predictably no effect - had a great risk of being fatal...
    (Edit: I like that the necromancer borg is using "Tap Unlife", a very effective spell against undead, more and more often; wish that they'd zap rods of speed when going into battle against difficult opponents more often, and wish they'd use Vampire Strike when they have it more often too- it has its faults, sometimes dropping you inamidst a whole bunch of foes (check those hp and resistances!) and sometimes doesn't work at all, but can be very handy , especially since the borg keeps -ignoring- the program demand to stock up on Heal potions, and keeps going down without proper healing. Good thing I'm running in Cheat mode as an experiment

    Leave a comment:


  • agoodman
    replied
    If you look at borg.txt there are the "power rules" which says what "power" he gets from each item and ability. Power is what is used to determine how good he thinks one item set is from another. Usually the borg.txt power calcs are turned off and the internal (C code) ones are used but they are identical and should always come up with the same number. If you think you have better numbers, turn on the borg.txt ones and edit the file with new numbers.

    You can also use ^zp to tell you the current power level of the borg. Doing things like
    see borg has a weird item combo (like useless ring of fire). Hit ^zp. Switch ring for a different ring, hit ^zp again and see what he thinks that did to his power level. It seems likely the activation on the ring is giving too much power and should be toned down a bit.

    Leave a comment:


  • Estie
    replied
    So I have been running a priest borg and after many deaths got one that made it far: lvl 40ish, dlvl 30, decent gear.
    His gear choices were not terrible except for the fact that he seems to love rings of fire. He was using a =speed +6 and a =Fire for the longest time, not needing the fire ring at all (he has immunity and never activates it). So I went and took it away. He filled the now empty slot with the next thing he found - a =feather falling, soon replaced with a = int +3. Also, he upgraded his speed ring to +11, but didnt keep the +6. Next time I looked he was wearing = Fire and =accuracy

    How can this happen, this is a cathastrophe, and why does he love the useless elemental rings ?

    Edit: He died to Huan breath, having gone through various iterations of speed/con/artifact ring combod with some elemental ring. He was at speed +13 when he died, having been at > 20 base speed several times before. He does use the elemental ring activation; the reason he never used the fire one seems to be that he was carrying several rods of fire bolt/ball and used those in preference to the ring.

    Anyway, he should never replace important rings like con or speed with elemental damage ones.
    Last edited by Estie; September 2, 2025, 14:29.

    Leave a comment:


  • eschiss1
    replied
    Downloaded latest prerelease, borg definitely fighting/casting smarter Thanks!

    Leave a comment:


  • agoodman
    replied
    Originally posted by agoodman

    hmm, okay, I think I miscoded how it works due to a lack of understanding of how it works. I will likely have to recode that entire attack.
    also missed "walls protect monsters" so LOS plus "not in a wall". Not sure if that last part was on purpose but CRUSH is considered a "projection" and walls protect monsters from projections.

    BTW: https://github.com/angband/angband/pull/6346 checked in. Wasn't as much work as I feared... but the old code was waaaaay wrong.
    Last edited by agoodman; August 20, 2025, 19:18.

    Leave a comment:


  • agoodman
    replied
    Originally posted by eschiss1
    I still think the borg casts Crush far more often than it needs to.
    Crush instantly kills any monster in line of sight with less than four times the player's level in hitpoints, also hurting the player. Other monsters are unharmed.
    I see no evidence that the player's line of sight is being checked, that the monster's hitpoints are even being guessed at (an unharmed Witchking of Angmar is not likely to be harmed by Crush- well, to use less complication, I do sometimes see the monster's HP in the borg window, is it not allowed to make decisions using that information?...) - - well, briefly, the borg is taking this spell that's not actually that useful at deep levels (not compared to some others one of the same class should have by that point) and using it -constantly-, and practically ignoring others. That's practically perverse That, at least, can be fixed, I think.
    hmm, okay, I think I miscoded how it works due to a lack of understanding of how it works. I will likely have to recode that entire attack.

    Leave a comment:


  • eschiss1
    replied
    I still think the borg casts Crush far more often than it needs to.
    Crush instantly kills any monster in line of sight with less than four times the player's level in hitpoints, also hurting the player. Other monsters are unharmed.
    I see no evidence that the player's line of sight is being checked, that the monster's hitpoints are even being guessed at (an unharmed Witchking of Angmar is not likely to be harmed by Crush- well, to use less complication, I do sometimes see the monster's HP in the borg window, is it not allowed to make decisions using that information?...) - - well, briefly, the borg is taking this spell that's not actually that useful at deep levels (not compared to some others one of the same class should have by that point) and using it -constantly-, and practically ignoring others. That's practically perverse That, at least, can be fixed, I think.

    Leave a comment:


  • agoodman
    replied
    Originally posted by eschiss1
    I've had to use * to select, iirc, not 5, when casting curse. (Something like that?)
    discussion of the solution found https://github.com/angband/angband/issues/6337 and code checked in https://github.com/angband/angband/pull/6338

    Leave a comment:

Working...
😀
😂
🥰
😘
🤢
😎
😞
😡
👍
👎