Another Unhook Repair and Healing Rework

There was another unhook associated with defense maneuver 22.  If you see anymore, send me the savefile.

I also began reworking the borg_heal().  Now that potions heal a percent of the damage, the borg needs to be able to appropriately consume potions.  I have the first phase done.  I will be testing the borg and making sure he is healing correctly.  If you find dead borgs because he did not heal when he should have, send me the .map file.  I’m sure there will be several tweaks and corrections to this over the next few months.

I also found that he was casting Word of Destruction too often and I made that a bit more conservative.

Posted in Angband (Vanillia) | Leave a comment

Invisible Unhook repaired.

Last nights update included a possible unhook.  It is now repaired.

 

Posted in Angband (Vanillia) | Tagged | Leave a comment

Fear and Defence work

Reworked Earthquake spell as a defense maneuver.  It is a bit smarter now and can be used to reduce the LOS from ranged attackers.
Added Banishment as a spell allowed to cut into reserve mana.  Each class has a certain amount of reserved mana and if a spell dips into the reserve, there is a penalty.  The reserve is meant to be there for a final escape spell.  Since Banishment is a type of escape, it is allowed to dip into the reserve without penalty.  Also, Banishment is penalized slightly if it will be used on a unique that is heavily wounded.

borg_check_rest() looks to see if the region is generally safe and it needed some modifications to allow for more frequent resting to regain mana.
Rods of Healing use improved.  Increase # of rods of healing carried by each class.  He doesn’t crush or sell them.

Fix in borg4.c for the use of borg_spell_okay() and borg_spell_legal.  One looks at whether or not the borg could cast the spell and the other is a check to see if the borg can cast it immediately.  The lead to inventory issues in town when the mana dropped.
Monster fear region[][] modified if below depth 80.  Allows him to rest better.
fear_grid[][] modified so that no fear is added if a monster does not have LOS.
borg_defend_aux_inviso() needed to accomdate for unseen guys in halls (like a vortex hiding in a dark hallway), not just inviso guys.  It was built specifically for inviso-guys, like ghosts.  It is adapted to broaden its applicability.

Delete the regional_fear[][] when monster is created.  Regional_fear[][] is applied when the borg is attacked from an unseen monster.  It keeps him from resting in an area and adds general fear to a region.  Sometimes, the fear needs to be removed after a monster is created.

Rest to regain mana more when deep dungeon (> 85) .

Rods of Recall will be standard equipment regardless of the spell.

The next thing I will be working on is reworking the borg_heal() to take care of the changes in the potions.  They heal a percent now instead of a fixed amount.  This makes the potions more useful.

Posted in Angband (Vanillia) | Tagged , , | Leave a comment

*Enchant* Loop and *Heal* Potion Loop fixes

The borg might bounce between town and the dungeon thinking he needed to “drop off potions” in the house. He would only do this if he was collecting heal potions.

The borg might try to enchant his ammo up to the new enchant_limit instead of using the +8. He goes through ammo so fast, it seems a waste to have him enchant up to +15,+15 his ammo.

The borg needed to be able to decide to fight an adjacent monster while he was in munchkin mode. Sometimes, he would walk 100 steps with an adjacent kobold beating on him instead of stopping to attack.

Improved a report on level preparation. Still, he is always prepared from town. So if you want an accurate report on what his preparedness is, use ^z2 while in the dungeon.

There was a loop with him buying and selling *Enchant* Weapon Scrolls.

Posted in Uncategorized | Tagged , | 2 Comments

Quiver dump loop fixed

The borg was trying to dump a non-existent quiver slot ‘x’.

I will be making these fixes to the 330 code as well, but I still do not have a working borg for 330.  The keypress hook is still broken.  I am waiting for Tak to take a look at it.

A borg that runs out of light might also starve to death.  Fixed.  I also increased the reward for wearing Slow Digestion items if hungry or weak.

Posted in Angband (Vanillia) | Tagged , , | Leave a comment

Temp Resist and Immunity Fix

There was a problem if the borg had immunity to an element.  If he ever traded out the item granting immunity, he thought he kept the temporary resistance flag.

Fixed more of the termination messages that were not being caught.  I also built in a backup to catch them in case the parser did not see it.

 

Posted in Uncategorized | Leave a comment

Anti-Summon Corridors

The borg was taught to use anti-summon corridors.  He does not dig them; he uses the spells/Ring of Delving/activation of items.  I have been testing it over several days and I think I got all the major problems worked out.  If you find any others, please send the savefile and description of the event.

I added a numeric selection for enchanting items.  The borg can spend thousands of rounds enchanting his equipment up to +15.  Some can argue that it is a waste of time since there is little benefit late in the game.  Others argue, the borg has nothing but time, so let him have every advantage.  There is now an option in borg.txt called borg_enchant_limit.  It defaults to +12.

The borg might mis-calculate the number of safe grids when seeing if he is surrounded.

The borg needed a slight improvement when guessing where walls are.  If he shoots into an unknown grid, he anticipates a pain response from the monster.  If the response is not heard, he assumes there is a wall there blocking the shot.  But it is not that clean and cut.  Sometimes when shooting a missile, there is no pain response on a missed shot.

Vborg was getting stuck in munchkin mode if a stair he wanted was behind a wall.

Posted in Angband (Vanillia) | 4 Comments

Resistance Update

Critical update for Resistances.  The termination messages for the resistances changed and the borg was still looking for the old messages.  This had the borg believing his Resistance was still active so he would not refresh it.  This led to incorrectly calculating danger and protection from elemental attacks.

 

Posted in Angband (Vanillia) | Tagged | Leave a comment

Combat Related Fixes

If the borg was fighting a lot of monsters (say like the Cat Lord and his 50 escorts), there was a chance that the borg would lose track of a monster and not consider it for an attack target.  The problem was related to the monsters exchanging grids as they moved around so much.   This is now fixed.

The borg will not teleport away uniques if they have sustained 60% damage.  I saw the borg teleport away Sauron when Sauron had only 10% health left.

Borgs will be allowed to use ‘overkill’ attacks on uniques.  Non-uniques still have a 2x the hp damage cap on attacks.  Basically, as the borg looks for various methods of attack, he will limit the damage for each attack to twice the HP of a monster.  That way if a Magic Missile is sufficient to kill a monster, the borg would not use Meteor Swarm.  I saw a borg in combat with the Cat Lord, choose to use a beam lightning attack on a different line of escorts instead of attacking the Cat Lord.  At the time, the Cat Lord had 47hp left.  The reward for the damage was capped at 47×2.  So he chose to do more collective damage by using the beam spell on a whole line of escorts.

Improved how the borg will enchant and brand stacks of ammo.  This will save him some time.

 

Posted in Angband (Vanillia) | Tagged , | Leave a comment

End Game Fixes

Updated more archaic activation checks built into borg4.c

Updated how the borg is allow to reset recall depth while at depth 99 and 100.

Added more support for use of Stoneskin mushrooms. Borg will store them for end-game and will use them as a defense maneuver.

If the borg wanted to grab an item from the home, either equipment to be worn or an inventory item, he needed to have at least one empty inventory space (in order to add it to the inventory). That was not always required since an item taken from the home might merge into an existing stack in the inventory. That is now fixed.

A warrior hunting Morgoth was rewarded for carrying a !Res Mana, and !Resist Heat/Cold. Those inventory slots are better spent elsewhere.

Borgs were not taking their stash of !Life with them for the final battle with Morgoth. He had collected about 63 during the game and left them all at home.

Do not carry a ?Recharge or _Teleport to depth 100.

Fixed a problem with the borg not recognizing he was ready to attack Morgoth. He kept ditching level 100.

The Stoneskin mushrooms did not have an ignition message that was being caught.

Dwarf Warrior won the game today.  First winner for me in about 18 months.

Posted in Angband (Vanillia) | Leave a comment