This is without a doubt the most advanced borg around. It is updated almost daily so check the webpage often http://itctel.com/~apwhite/andrew.html This borg run on Vanilla Angband Version 283-292. There is also a borg for the DrAngband variant. Many parts of this code came from Adam Goodman. He is a wonderful programmer. He did the work on *ID*, home optimization, borg_prep, speeding up a borg with telepathy, and basic borg defense routines. I expanded on each one, but he laid down the important skeleton. He also wrote the code for the Dynamic Calcs. Which allow extern influences on the borg behavior. He deserves a huge thanks. But most of all praises should go to Ben. He did the really hard work. He built it from the ground up. My stuff was easy compared to Ben's flow-coding. So please don't bad mouth the Benborg. Be sure to modify your delay under the Options menu to watch the borg. If you have questions or want to know how certain bugs were squashed, just drop me and email at apwhite@itctel.com As I mentioned, improvements are made on a daily basis. This borg is customizable. Meaning you can select certain play options and have the borg play along those themes. To learn more, read the borg.txt file located in the file archives. All bug reports are appreciated. What sets my borg apart from the others: Borg1.c Branding of bolts using Cubragol. Enchanting the arrows and weapons up to +15,+15. Star id for finding high resists and anti-amnesia,home storage optimized based on duplicates and resist powers. Borg does not worship speed. ie: +10 to +11, smoothed it out. Keeps track of panel changes to avoid bouncing-borg. Keeps track of fighting uniques and summoners. Borg2.c Borg_projectable modified to improve bravery--more unknown grids are walls, unless he is wounded then he becomes more conservative. Borg3.c Learns all spells, and uses all spells, even genocide, mass geno, bansish. Will *ID* stuff appropriately, Aman, Elvenkinkd, etc. Does equipment before trying inventory (in case of amensia attack). Will inscribe high resists on Aman, Elvenkind and random artifacts. Will eat and drink unknown stuff in a last ditch effort to heal poison and wounds and such. Will use unknown scrolls and staves in a last ditch effort to heal. Fail rate check on staves, and rods--no sense in casting if I know I won't succeed He will attempt to keep a reserve of mana incase he needs to teleport out in the very near future. Activates all artifacts appropriately and timely (even the genocide one) Activates all dragon scale mails with a fail rate check. Inscribes food and slime molds for fun. Borg4.c Won't swap out the phial if he does not have call light ability. Eats ALL manners of food (waybread, jerky, rations, biscuit). Tracts ALL healing potions and staves. Home storage is optimized based on duplication of resists and value of stuff not 'keep every dang artifact'. Enhanced borg_prep code for diving into the dungeon. Enhanced intelligence for carrying equipment. Crushes junk of low values to stay in dungeon. No longer fills up with crap then recalls to town. He keeps the great, great items. Gradient speed upgrades. No longer worships the change from +10 to +11. Keeps track of a backup weapon. Modified reward system for preparing for the fight with Morgoth- slay evil, sustains and crap like that. Once Morgoth is dead, he reverts back to the appropriate best items. Borg_danger() considers Protection-Evil, GOI, Glyphs, and Door Creation, incapacitated monsters (confused, sleep, dazed, fear, slow) variences in speed ratio: slowed borg & fast monster through hastened borg & slowed monster, and a bunch of others. Reports back the reason why the borg may not be ready for a level. And this prep code has been worked to be class and level specific. Borg_danger() calculates the average of all attacks instead of the most deadly one. It also decreases fear (in summoned spells) if there are no free spaces near us upon which a summoned monster may land. Low clevel players have modified fears and dangers. They have increased fear of breeders, asleep monsters, and things that have friends or escorts. Borg5.c Correctly identifies monsters and treasure by 'l'ooking at them. Not the estimation process as before- which commonly made mistakes. Monitors & uses info on monster status: asleep, fear, confused, slow, exact monster hitpoints. Handles offscreen monsters by shifting the panel to make the monster on screen. Deeper in the dungeon, he will automatically shift the panel as he approaches the edge, this reduces the number of (offscreen) deaths. Will light up a room prior to resting in it. All too often we teleport out of a dangerous situation. Land in a dark room with a priest in it. Then while we rest to restore our stats, the bad guys casts a spell on us. Now we check to make sure the room is safe to rest in. At least a priest is seen with ESP; a vortex and Q's are not! Keeps track of time in a panel to avoid the bouncing-borg. Which is when a borg with telepathy sees a monsters on the other side of a wall and bounces between 2 or 3 spaces attempting to flow to it. Time stamp is reset if a kill is noted. So if no kills are made in about 500 turns while in the same panel, he moves on. Handles Invisible monsters by setting a 'need to cast see-invis/detect-mon' spell. Then sets the (timed) flag into the future so he does not loop casting the detect spell. Otherwise, certain pits or dark casting-mindless-critters would have him cast detect frequently. Uses Detect Monsters and Evil as well as the other detection spells (traps, doors, walls). Borg6.c Will flow to glyphes and and fully utilize glyphs. Is concerned and pays special attention to being near uniques and summoners. Revamped the borg_escape() and borg_phase() stuff to be more bold and safe. Reworked borg_heal() to rest before healing, and use spells more effectively. He casts defensive spells like speed, resists, bless, and all the others. Offset attacks. He will target an adjacent spot and blast a bad guy with the area-effect of a spell. Especially handy on Q's. He does this when the baddie is out of LOS. Uses branded arrows appropriately. Fire, Dragon, Frost, etc As mentioned before all (useful) spells are used like, sleep I, II, III, Mass Genocide, Blind, Earthquake, Banishment, etc. He uses Genocide on Hounds whenever he enters a new level. Borg will target bad guys even though darkness may be separating the borg and the monster. example: a critter down the hall is shooting us. Most borgs won't shoot back because the hall is unexplored. My borg will try to shoot into the dark and nail the monster. The borg will anticipate a pain response from the monster and if the pain message is not recieved then the borg assumes that the shot is not clear and will not shoot again until he or the monster moves. Attacks while blind. Other borgs twitch around instead of attacking. Uniques and Summoners are priority targets. Uses Wands of Wonder in emergencies. You never know, we might get lucky. Locates and digs out Greater Vaults. Including GCV. He carries and uses Diggers (shovels, picks, etc).Will use backup weapons and armour in a very cool way. Borg is less likely to flee the level if there is a vault or a unique near by. Borg closes doors on breeder levels. Trying to seal them off. This is a big help to neonates Borg will cast some perma-spells. ex: He will cast speed eventhough he does not need it for the situation. Perma spells are speed, prayer, hero/berserk, resistance, shield, PFE. Will rest to recharge Rods of Healing so that he is not running around w/o the ability to heal. He is aware of being surrounded and will try to avoid being surrounded by monsters. He runs from certain types of monsters defined by the player. Allows him greater survival rates. Borg7.c Does not fill up with junk then return to town only to sell the junk for little money. Is able to use random artifacts. Does not junk cool staves (Power, Holiness). Keeps them to recharge. Does not junk/crush other cool items, like runes of protection, and others. Will "forget" the properties of equipment if hit by amensia, then re-id. Goals for leaving the dungeon modified to stay in longer. Power dives if prepared for deeper levels. Enchants arrows and weapons up to +15 +15 if conditions are right. Will remove curse and enchant the back up items. Greed is modified based on his slow state. Less greed at -5 than at -1. Borgs with heavy pseudoID (warrior, paladin, rogue) and tons of cash don't bother ID'ing {good} items in an effort to save ID scrolls and mana. Borg8.c Will go straight to the temple if returning to the town poisoned, or mortally wounded. Straight to the store or home if starving. Previously, he would "visit" each shop then go back to each one and get what he needs and kill a few bad guys en route. Now he makes a bee-line for the appropriate place and avoids getting close to monsters who might engauge him. Also when starving, he removes items with Regeneration, since they increase his metabolism. Will use Light Beam to illuminate the halls in certain situations. Added a variable delay to slow him down so you can watch and analyze him. Redraws the screen in case of certain bugs related to misdrawn screens. Plays with magic more frequently. Previous he would only learn and test spells in town. Now he'll do it more frequently. If he runs out of light, he will try: wear stuff to see if it glows, attempt to recall with rod, flow to town via stairs if the stair location is known, flow to a perma-lit grid then try to cast recall. If all these don't save him he will explore, looking for the upstairs on each grid space. He no longer fears (ignores) all breeders; just when they exceed 4 in number. He tries to stick close to the stairs when he is a low level. He tries to dig anti-summoning corridors. Swap Weapons/Armour in inven according to need and resists. The swap code works like this: He can find a suitable swap in his inventory or grab one from the house. He learns the name, location, value (power) & stats of it. He will not crush or kill it, or sell it to a store (unless he gets a better one). He considers the 'soft requirements' in borg_prep(). Like: "If I or my swap have RDisenchant then I'm prepared for level 60." While in a fight he will compare the fear before & after the change. Then make the best swap, either the sword or the armour. Is careful not to keep two items because they have the same resist. Meaning he wont keep a sword and a cloak both with RDisenchant. Instead, he will keep the RDisenchant sword and a different cloak. Pretty sweet, eh? Borg9.c A few more borg status reporting commands to allow proper debugging. A borg command 'q' will allow the user to stop the borg when he reaches a certain dlevel or clevel. A borg command 'd' will dump the spell usage, listing the known spells and how many times they have been attempted. The borg can use graphic tile sets, Adam Bolt, 8x8, psuedographics, etc, thanks to rr9. Inscribes wands and staves as empty after discovering so. This avoids a nasty bug in the game wherein inscribed items don't show empty after being hit with amnesia. Instead they get their sales inscription. ie. {on sale} or {50% off}.--This is a problem in 280. I added a continous play mode the borg. Upon death of the borg, he will respawn as a random character and play. To activate this option, turn on the game cheat "Cheat Death." It is listed under the Cheat Options in the Options Menu, using = to activate it.