Borg Issues with the latest nightly

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • agoodman
    replied
    Originally posted by Aodhlin

    Here's another example of the same situation. I don't think it happens much, but once it does happen the borg gets stuck, and I have to rescue him.

    Since I run it in the background, I don't see how it happened, just that it did.

    Is there a way to easily get logs for when the borg either crashes Angband entirely, or unhooks?
    I have checked in a fix to to this situation. I will post when it is merged in.
    There are no real logs. I am not really sure how to make one or what I would put in it that the save doesn't give.

    Leave a comment:


  • Aodhlin
    replied
    This borg is caught in a nasty loop trying to buy/sell things.

    Attached Files

    Leave a comment:


  • Aodhlin
    replied
    Originally posted by agoodman

    Currently the borg doesn't know how to use Deep Descent. I think mostly it is too dangerous for a borg to use in almost any situation... except the one you are in now. I think a better "borg plan" would be to dig out the rubble and veins he can get to since it is really unlikely that he would have access to deep descent but maybe he should try just in case...

    How did he get into this mess? I didn't think things could get closed off like this. I used wizard mode to map the area and, yep, he is good and stuck. Did something cause an earthquake?
    Here's another example of the same situation. I don't think it happens much, but once it does happen the borg gets stuck, and I have to rescue him.

    Since I run it in the background, I don't see how it happened, just that it did.

    Is there a way to easily get logs for when the borg either crashes Angband entirely, or unhooks?
    Attached Files

    Leave a comment:


  • agoodman
    replied
    Originally posted by Aodhlin
    Tried running more with the latest nightly!

    In this example, the Borg is at a bit of a loss. It should know that it can use Deep Descent to get out of this mess. I've seen this come up a few times.
    Currently the borg doesn't know how to use Deep Descent. I think mostly it is too dangerous for a borg to use in almost any situation... except the one you are in now. I think a better "borg plan" would be to dig out the rubble and veins he can get to since it is really unlikely that he would have access to deep descent but maybe he should try just in case...

    How did he get into this mess? I didn't think things could get closed off like this. I used wizard mode to map the area and, yep, he is good and stuck. Did something cause an earthquake?

    Leave a comment:


  • Aodhlin
    replied
    Tried running more with the latest nightly!

    In this example, the Borg is at a bit of a loss. It should know that it can use Deep Descent to get out of this mess. I've seen this come up a few times.
    Attached Files

    Leave a comment:


  • agoodman
    replied
    Originally posted by Aodhlin

    I don't think that's what going on. I don't have Borg Kills Uniques enabled, and yet it still refuses to dive further. See attached savegame and borg.txt
    .
    Just looked at the code... the "borg_kills_uniques" flag is used up till max depth hits 99. Once you are going after Morgoth, all uniques must be dead. If I change the code to not count seasonal (which is a change I will check in) I get Beorn... which is also wrong since he is dead and it is counting his bear shape. So, add that too and it moves on to.
    Max Level: 99 Prep'd for: 1 Reason: Baphomet the Minotaur Lord still alive!
    Also wrong... it shouldn't be doing that check at depth 1, only at depth 99+... So a few fixes here. If I fix that too I get
    Max Level: 99 Prep'd for: 9 Reason: 2 tele + teleport staffs
    which is more reasonable... he needs his teleports.

    Originally posted by Aodhlin
    It also has plenty of *HEALING* potions.

    I've noticed that the borg seems to let itself be burdened very easily. In this example, it would be much better off if it ditched the armor it was carrying around.

    The burden thing... this is the delicate balance of power calculations. The borg thinks that is good swap armor to have around to cover his resists but perhaps should weigh the weight more highly. he is fast (+23) so he figures a little burden is no big deal... I would say to play with the power calcs in borg.txt to make it to your liking but weight calcs are still in the code. It was hard to translate them to dynamic.

    Leave a comment:


  • Aodhlin
    replied
    Originally posted by agoodman

    Heh! Looks like in monster.txt Father Christmas is listed as "Seasonal". My guess is that if you turn on "borg_kills_uniques" that it doesn't check the "SEASONAL" flag when it should. It shouldn't matter a LOT since it is looking that there only be 3 alive uniques for any given depth so... this just clogs one spot to make it 2.
    I don't think that's what going on. I don't have Borg Kills Uniques enabled, and yet it still refuses to dive further. See attached savegame and borg.txt

    It also has plenty of *HEALING* potions.

    I've noticed that the borg seems to let itself be burdened very easily. In this example, it would be much better off if it ditched the armor it was carrying around.
    Attached Files

    Leave a comment:


  • agoodman
    replied
    Originally posted by Aodhlin
    In one of the more amusing borg moments I've seen lately, the borg says it does not want to dive because Father Christmas is Still Alive. Christmas in July maybe?
    Heh! Looks like in monster.txt Father Christmas is listed as "Seasonal". My guess is that if you turn on "borg_kills_uniques" that it doesn't check the "SEASONAL" flag when it should. It shouldn't matter a LOT since it is looking that there only be 3 alive uniques for any given depth so... this just clogs one spot to make it 2.

    Leave a comment:


  • agoodman
    replied
    Originally posted by Aodhlin

    Thanks, I'll try this!

    Two notes --

    1. When using the Borg command "respawn", nothing happens. If you activate the borg again, the game crashes.
    2. The attached borg is not diving, but isn't providing a reason. It says it's prepped for level 101.
    1) wow, yup, that command is completely broken. I think that needs a bunch of work to make sure that the game knows things got restarted.... probably a call to a modified set of:
    cleanup_angband();
    init_display();
    init_angband();
    if (reinit_hook != NULL) {
    (*reinit_hook)();
    }
    textui_init();
    if (mode == GAME_LOAD) {
    mode = GAME_NEW;
    }

    like play_game() does.

    2) ^z2 is giving me "Max Level: 88 Prep'd for: 81 Reason: Scumming *Heal* potions (10 to go)

    Leave a comment:


  • Aodhlin
    replied
    Originally posted by backwardsEric

    Turn off the borg's cheat death option (^z c d toggles that setting) and turn on the normal cheat death option (= x d toggles that setting). There's two settings in borg.txt that control how the new character is rerolled (borg_respawn_race and borg_respawn_class). By default, the borg does not automatically restart after winning; that can be changed through borg_respawn_winners in borg.txt. You can find more documentation about borg respawning in the "# Respawn" section of src/borg/borg.txt.
    Thanks, I'll try this!

    Two notes --

    1. When using the Borg command "respawn", nothing happens. If you activate the borg again, the game crashes.
    2. The attached borg is not diving, but isn't providing a reason. It says it's prepped for level 101.

    Attached Files

    Leave a comment:


  • backwardsEric
    replied
    Originally posted by Aodhlin
    Is there a setting that will automatically roll a new new character for the borg if it dies?
    Turn off the borg's cheat death option (^z c d toggles that setting) and turn on the normal cheat death option (= x d toggles that setting). There's two settings in borg.txt that control how the new character is rerolled (borg_respawn_race and borg_respawn_class). By default, the borg does not automatically restart after winning; that can be changed through borg_respawn_winners in borg.txt. You can find more documentation about borg respawning in the "# Respawn" section of src/borg/borg.txt.

    Leave a comment:


  • Aodhlin
    replied
    In one of the more amusing borg moments I've seen lately, the borg says it does not want to dive because Father Christmas is Still Alive. Christmas in July maybe?

    Attached Files

    Leave a comment:


  • Aodhlin
    replied
    Originally posted by agoodman

    The fix to this and the (hopefully) final -more- fix is in the latest nightly.
    Great!

    Is there a setting that will automatically roll a new new character for the borg if it dies?

    Leave a comment:


  • agoodman
    replied
    Originally posted by Aodhlin
    This borg seems to be having a lot of problems with shops -- it will sometimes stop and visit the dungeon for a bit, but then go back to looping. Not entirely sure what's going on.
    The fix to this and the (hopefully) final -more- fix is in the latest nightly.

    Leave a comment:


  • agoodman
    replied
    Originally posted by Aodhlin
    This isn't a high priority, but do we know why this borg isn't diving right now? It has all the supplies it needs, but it's still just hanging around dlevel 50 or so.
    This is something you can test yourself with:
    ^z2
    which will give the depth the borg thinks it is prepared for and what is the (cryptically worded) reason for only being prepared for this level. This save gives:

    Max Level: 97 Prep'd For: 9 Reason: 2 tele + teleport staffs

    IIRC tele == teleport scrolls or charges of the staff.
    teleport staffs... well, obviously teleport staffs.

    The borg's prepared calculations can be seen in borg.txt and you can modify them there if you turn on dynamic calculations... at a performance cost that is usually about 20% but can be a lot more if you hit the slow home item optimization issue. The line in question is:

    depth(10): condition((value(trait, amt teleport) + value(trait, amt escape)) < 2);


    additionally you can see the other things the borg can do with
    ^z?
    The instructions aren't great and get out of date if I am sloppy about changing things and not updating it...

    Leave a comment:

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