It has been a bit over a year since I updated the vanilla borg. I have been making weekly updates to the zangband borg but it was time for a V update.

There was an extensive upgrade to the V borg, so it would be nice if a few of you could test drive it and point out any problems. I compiled it as a 'release' instead of the usual 'debug' so I hope the dll's work.

I will try to get 341 to a really stable position then port it into a working copy of 351. Right now, I cannot get 351 to compile with VS2012. But I will keep trying.

The Z-borg is working really well and I can leave it for a few months while I help get the 351 borg up to speed.

Added a couple more cases which will limit the borg’s intereptation of the monster’s expected flow pattern. RF1_FRIENDS like to ambush in rooms, etc.

Made sure that the borg was not going to swap out his inventory for non-id’d stuff that clearly wont improve his station. If he has a known unique, he should not trade out for a {good},{excellent}, or {terrible} item.

Removed the fear_regional[][] from borg_danger() if the borg is deeper than depth 70 (it had been 80).

Don’t sell wands of stone to mud if one does not have this spell. This will help with anti-summoning corridors.

NO_MELEE guys will no longer consider the damage of a weapon when calculating the benefits of a swap item or storing weapons in the home.

The NO_MELEE borgs were not calculating their damage correctly when fighting barehanded.

I added a ‘borg_fighting_tele_to’ flag for monsters who can teleport the player. It is mainly kept in the munchkin code. We don’t want the borg to be teleported off of the stairs.

Speed up the borg by adding a kill->dist so the borg does not have to keep calculating distance(c_y, c_x, kill->y, kill->x)

The borg learned some extra qualities to certain curing potions (removing confusion and blindness). Doing so enables him to be rewarded for carrying those items for that specific property.

The borg will have reduced fear of confusion and blindness attacks if he has at least two items which can cure him. Previously, he needed to have resistance to blindness or confusion to avoid the fear.

The borg might bounce on a few munchkin levels for several thousand turns waiting for a restock() item to show up (depth 5 & 6). I tied the climbing to the borg_leave_level() flag of goal rising, that way he is inclined to complete a journey.

I taught the borg to use Create Stairs while he is in munchkin mode.

To save computation time on the expensive borg_prepared(). I switched to using a borg_prepared[127] which stores the prep info.

Still tracking down some of the 'Illegal choice' tags.

borg_defend_lightbeam() was not considering 3-way intersections as a possibility.

borg will use Teleport Level to escape a level 1 danger if on a depth with >= 10 summoners.

I created a borg_surround_breeder() and an escape for when the borg is surrounded by breeders. He will use Teleport to get away from breeders.

The borg needed to lighten the requirement for RPois to include the resistance offered through reliable spells. This allows him to free up that equipment slot requirement.

Slight change to how the borg will ‘grab’ things:

Borg wont grab spell books from the shops to store in the house. He will still store extra books, but won’t by the books.

Borg won’t grab weapons from the shops to store in the home. He has plenty of those in the dungeon.

Borg won’t grab non-potion/scroll things after reaching clevel 50.

Borg wont set explosive runes/runes of protection when fighting a guy who can use Teleport-to. These guys can bampf the borg off the rune.

when considering which items to crush (slow/hole/junk), the borg will skip items which contain a high resist which the borg is currently lacking.

In an effort to dive deeper and play at his maximal safe-depth, he will use the munchkin mode and scum the stairs more.

Borg_crush_slow() will now not crush Rods of Teleport Other. The other two borg_crush_xxx() already saved these rods. Similarly, the borg will not sell a Rod of Teleport Other to the shop unless he has more than 5 of them.

A borg with no light and no cash could become twitchy in town. He will be allowed to sell some items (which he would not normally like to sell) in order to raise cash to buy torches/oil.

Reworked the ego ammo a bit to clean up the code.

Solved a Twitchy issue by adding a prep_check flag to the borg_flow_stair_more(). If false, it will ignore the basic preparation checks before taking a down stair.

Borg was looping a bit while flowing to a take. He would retreat one step then re-attempt the flow path. The retreat function from borg_caution wont be used if the goal == GOAL_TAKE

Slight change to the munchkin mode to help him dive better without being subject to the restock() restrictions.

Borg needed to not remove an empty lantern from the equipment. It interfered with him buying fuel. Additionally, he needed some support for buying fuel for the empty lantern. His inclination was to buy a new lantern. Since fuel is cheaper, its better for him to buy fuel for the empty lantern.

The borg will now quaff a potion while junking junk, if the potion wont harm him. He can gain any bonus effect or nourishment (albeit small on both accounts). A check was applied in borg_quaff_potion() to make sure he doesn’t drink something nasty.

Encumbered borgs will no longer unequip their gear. They tend to crush it.

Borg wont use the Recharge spell on rods while in munchkin mode. The rods tend to recharge faster than the mana spent on the spell.

Added a cascade reward for using the rods as weapons. He used to carry up to 10 rods, sometimes even up to 9 Rod of Light. Really, he doesn’t need more than 5 of them. So he will limit the number of rod quantities in order to make more efficient use of inventory space.

Borg was over confident in his ability to tunnel. There is a definition of BORG_DIG which is his digging skill. I moved it from 20 to 40 to make sure the borg didn’t waste too much time trying to dig improbable tunnels. Granite has a dig factor of skill_dig > 40 +rnd(1600). So even with a BORG_DIG of 40, and no digger, he is still likely to dig. This value might be adjusted higher (to 60)

The borg found a really nice artifact broken dagger. The bonuses of the randart attributes out-weighed the penalty of wielding one. So i boosted the penalties for melee type characters. The non-melee characters can still wield these items with the old penalty.

Borg_flow_vault() was missing a borg_flow_clear() object. This lack caused the borg to think that he could dig tunnels all day long.

Added a kill->cautious but it is not yet implemented. It will be used when flowing to certain monsters

Converted borg_ddy_ddd[24] to a [48]

Borg was slighting miscalculating the projected path of a monsters bolt attack with respect to the bolt passing through other monsters.

Borg needed to be able to crush_junk() which is now dropping it on the floor, while in muchkin mode. He tries to avoid dropping items onto non-floor grids since they fall near the borg. He will just pick them up again. But since he is in munchkin_mode, and will be leaving the level via stairs then its no problem to litter the floor with junk. But doing so requires that all floor grids be labeled at junk.

Slight easing of some cure requirements for level preparation. Since the cure potions now do a percent heal, the borg can use some substitution techniques to satisfy the requirements.

I've been giving it a try and I'm encountering one situation where the Borg gets stuck, or actually, just exits back to the main game loop on its own for some reason. I'm not entirely sure what triggers it, but every time it's happened, the player had just ended its move on a pile (square with more than one item, & symbol on the map). If I then restart the borg with ctrl-z z, it continues normally. Have you ever observed this?

Other than that I've had no problems with the Borg so far, though I noticed that it likes to carry a truly huge amount of stuff on some of its early dungeon trips, slowing it down to Slow (-7) or so. That doesn't seem to affect its ability to clear 50' at character level 10 though

I've been trying to install the borg screensaver and I've followed the instructions in the README, but I keep on being told that libpng12.dll is missing every time it tries to start. Anyone else find this?

I've been trying to install the borg screensaver and I've followed the instructions in the README, but I keep on being told that libpng12.dll is missing every time it tries to start. Anyone else find this?

(Win7 btw)

Yes, I remember getting this (already a year, or more, ago), and I think I solved it by googling and downloading the dll from somewhere. I'm not sure that's the safest approach but it worked...

I did in fact copy the first missing dll from the Angband folder into System32. That went well enough that it then asked for another dll, which was also in the angband folder. No problem - copied that into System32 too.
This led it to ask for another dll (something like MSVCR110.dll) which wasn't in the Angband folder or, in fact, anywhere else on my PC.
So I downloaded that dll from Microsoft's website, stuffed it in System32 and...hallelujah...that enabled the screensaver to launch and promptly crash!

It's just the usual "Angband.scr has stopped working" error message and I can't get round this. This happens if the PC tries to launch the screensaver itself or if I click directly onto Angband.scr.

It's just the usual "Angband.scr has stopped working" error message and I can't get round this. This happens if the PC tries to launch the screensaver itself or if I click directly onto Angband.scr.

Any ideas? Maybe I'm just being daft and missing something obvious?

Can you tell me where in the Angband loading process it crashed? What game info was on the screen? Did the scr get to the splash screen? did it load or create the character? The the borg take a few steps? Any information would be helpful.

Additionally, did you make the necessary changes to your angband.ini file? You will need to point to your savefile name. It might look something like this: