September Updates

Updates or the Zborg.  I have not made any changes to the vanilla borg in several months.  There are still problems with it working under Visual Studio.  So I spend my time tinkering on the Z240 borg.

  • Casting Prep Spells prior to taking spells needed to remove the test for borg_hero and mindcrafter adreneline channeling.
  • Borg speed +5 check in borg_prep() needed to consider ability to easily cast speed.
  • The borg’s monster flow will return a fail if the monster is not likely to flow to the monster (fear, random movement, terrain, etc)
  • Borg_swap will consider additional damage of the item.
  • Improvement to “jump into pit.”  He was missing ocassional ag->kill.  So I allowed a cheat (cave[y][x].m_idx) as a backup.
  • When looking at the danger-reduction benefits of Mind Wave, the borg was not considering the danger associated with unseen monsters (regional fear).
  • Borg will have decreased fear of sleeping monsters when higher level.
  • When considering jumping into a hall to gain an advantage over summoners, only awake summoners are considered.
  • The power bonus for wearing an elemental ring is only granted if the borg does not have immunity to that element.
  • Borg was not swapping equipment if danger = 0;
  • Removed the AC-based reduction in the danger of RBE_SHATTER, the monster attack method which causes earthquakes.
  • Mind Wave defence maneuver is denied if the borg has less than 20 mana.
  • Psi Drain is added to the list of acceptable spells to be cast in low mana.
  • Eating Slime Molds was added to the list of food eaten during munchkin mode.
Posted in Zangband 240 | Tagged , , , | 1 Comment

July updates for Angband 320

  • No Banishment on Unique if injury >= 85%
  • No flow through rubble for monsters
  • Tarrasque is a scary guy if I don’t have RDisn
  • If the borg needs to recharge a rod, and the no_rest_prep counter is set, that counter will be reduced to zero, enabling the borg to rest to recharge the rod.
  • Crush_junk will consider more things junky after depth 40.
  • Borg needed an efficiency enhancement on how he was calculating the monster flow and anti-summoning corridors
  • Shoot’N’Scoot was taking place when he should have been resting on the grid.  The ShootN’Scoot will now consider the same criteria as defend_aux_rest().
  • Shoot’N’Scoot was mis-indentifying certain types of hallway configurations.
  • The borg was having trouble using strcmp() and locating Khamul in the unique list, this was due to the LATIN-1 change to Khamul’s name with is now Kham[^u]l.  I modified the old scanning routine to a slower one, but it won’t miss anyone due to the name changes.
  • Shoot’N’Scoot will not be called if the borg is fighting a unique.  Quite frequently the borg will phase door out of the way then lose the unique in the twisting passages.  This will allow the borg to go toe to toe with the uniques.
  • Sometimes the inventory items would be destroyed in combat and that message could cause the borg to believe a monster generated it.
  • The borg keeps swap items for reducing the danger when fighting certain monsters.  He will now consider the benefit of the additional damage granted from using the swap.  He will consider swapping for greater damage when fighting a unique or a summoner.  He does not allow the additional damage cloud his judgement on the protection offered by the original weapon.
  • Sometimes the borg would attempt to flow through a monster.  This is not always a good idea.  So certain controls were placed on it.
  • The borg will not attempt to dig a tunnel if a monster has LOS on him.  If he has a spell of S2M, then he will be allowed to tunnel.
  • Borg was losing track of some monsters in a throng.  Needed to make some fixes to how the borg can locate these missing monsters.
  • The borg_heal() routine needed another tweak on when it would cast a heal spell.  If battling monsters who are deeply wounded, he needed to be more likely to cast a heal and finish up the fight.
  • Some monsters who can ‘push past’ or ‘trample’ other creatures were inducing a fear_region because the borg was not recognizing their move action.
  • The borg encounters *Heal* pots along his journey.   Some he uses, some he stores.  He will now store all he finds in order to reduce the time spent scumming them at dangerous depths.  He needs to have a certain number before attempting to take on Morgoth and Sauron.  He may spend 100,000 turn at dept 95 looking for *Heal* pots.  This is a pretty dangerous place.  The fewer turns he spends there, the better off he will be.
  • Added the ’embedding in rock’ as a monster death message.
  • No using of Teleport Level if during Questor Combat
  • No using Earthquake during Questor Combat.  We don’t want Sauron embedding in the rock when he is down to only 5% health.
  • Borg was trying to recall to town to Restock during his fight with Morgoth.  Borg will now not be able to leave questor combat for a restock.
  • At the endgame, the borg will visit his house to buy stuff prior to visiting the store.  The concern is he might fill the inventory with shop items when he ought to be filling it with the stuff he had been saving for the endgame (ie, Life potions).
  • The borg will be a bit more careful about restoring his stats during questor combat.  In particular, he will keep an eye on the encumbrance induced slowness.
  • There is a weird bug when the borg is weilding two elemental rings and he tries to activate one.  The borg will just hang on one of two errors (illegal object choice, and invalid target).  The error was related to an older parsing keypresss related to wearing two rings and chosing to wear the ring on to finger ‘c’.  That particular peice of code is not needed anymore (I’m pretty sure).  So I eliminated it.  If there are some borgs that are acting freaky with respect to equipping rings, let me know.
  • A borg wearing elemental rings might collect too many Resist Heat/Cold potions.
  • The borg uses a parameter called full_damage when calculating danger.  Basically, it works to calculate the maximal damage possible from a certain spell, versus the likelihood of the spell being cast.  Sometimes, when the borg is low on hitpoints it is better for him to play it safe and set the full_damage as true.
  • The borg won’t use Teleport Other on uniques that are wounded (down to only 35%).
Posted in Angband (Vanillia) | Tagged , , , , , , , | Leave a comment

May Updates for Zborg240

The zborg has been hanging out on depth 76 for a while. He is having trouble killing a level-quest monster. But otherwise, he seems to be fighting well and staying alive. The cyberdemons are really posing a problem for him, as his Vecna and all the summoned liches.

  • If the borg is leaving the dungeon immediately due to neededing to restock, he will be allowed to use borg_recover first.
  • Borg will try to not use Mind Wave when sitting in an anti-summon corridor.
  • Borg will keep track of Wand of S2M and will try to hang on to them for AS corridors.
  • Borg will use DimDoor to jump into a hallway when fighting a summoner.
  • Resist Shards will be increased in value in order to protect against the cyberdemons and will also take into account Mephistopheles who will summon cyberdemons.
  • Slight improvement to how the borg calculates the benefit of using swaps.
  • The borg was being overly rewarded for wearing the artifact with PFE.
  • If the borg must rest to recharge an important rod (heal or recall), then the no_rest_prep counter is set to 0.
  • Borg was not using his Rod of Healing during Questor Combat.
  • Slight boost to using Psychic Drain when his mana is low.
  • No escaping from Danger Level 4 if sitting in an Anti-Summon Corridor.
  • When destroying junk, borg will not consider value of items after depth 40 or so.
  • Borg won’t use the DimDoor routine “jump into pit” if he is currently fighting a unique.
  • Repaired some problems with the borg shifting the panel to locate off-screen monsters which were attacking him.
  • Increased the likelihood of the borg using Psi_Drain on undead and demons.  Previously, he would not cast the spell against monsters whose clevel was greater than half the borg clevel, which effectively limited the use of the spell to monster clevel 25.  He will now use it on monsters up to clevel 60.
  • In borg_attack(), the borg will not attack monsters which have not been seen lately (within 2 turns).  But he misses out on opportunities to offset ball attack never_move monsters which have not been detected recently.  Since some never_moves are empty_mind, they would not be deteced by ESP.  So the borg will be allowed to offset ball attack never_move monsters if they have been detected within 20 turns.
  • Tweaked the healing thresholds a bit for the last few checks.
  • GF_NUKE needed to consider poison resistance for borg_danger() purposes.
  • The borg was believing that he could not use a ranged spell attacks against a pass_wall monster in a wall grid.
  • Psi_drain spell has a bonus when it’s used when mana is low and the effect (damage) is not limited.
  • Removing items that are not ID is more limited now.  He had suffered amnesia and ‘forgot’ about his +16 Ring of Speed, then removed and crushed it.

 

Posted in Zangband 240 | Leave a comment

April Updates for Zborg240

  • Borg was not decreasing the damage of dispel attacks over distance.  This over-valued some of the dispel attacks.
  • Increased the value of stunning effects when used against certain monsters.
  • Certain spell heavy classes (mage, high mage, mindcrafters, all at clevel 50) will not be looking at the damage of a bow when considering it for inventory.  They will look at the abilities it posseses.  The same group will stop carrying ammo.
  • Borg might unhook with the ‘offence’ defence maneuver if a melee attack option had a zero damage.
  • There were some amnesia problems related to using Dimension Door and making assumptions about a previously mapped area.  The lose_all_info() does not always carry a launch message so the borg might suffer amnesia and not know it.
  • Cyberdemons are now scary_guys unless the borg carries a form of RShards.
  • Borg entered Munchkin mode deep in the dungeon when out of food and got stuck fighting monsters in munchkin mode.  Not a good idea, since he does not consider defence nor escaping while in munchkin mode.
  • Borg needed to add ?TportLevel to the list of Escape options while considering his preparedness for dungeon depth.

 

Posted in Zangband 240 | Tagged , , | Leave a comment

March Updates for Zborg 240

  • When using DimDoor to escape, the borg will now choose a spot further away, if the dangers are equal.  This will allow him to get a few more ranged shots in as the monsters approach.
  • Radiation mutation was being considered as a ball instead of a dispel effect.
  • Certain Dispel effects were passed positive through borg_projectable, but failed in the project_path() from spells1.c  In effect, it was a ‘knight movement’ error.  They show up from time to time.  LOS() is positive going one direction but not the other (monster->player vs player->monster).  I added the reverse LOS check to verify the projection path both ways.
  • Before jumping into a pit and casting Mind Wave as a defence, the borg will check to make sure he has sufficient HP.
  • Track bad landing zones when trying DimDoor.  There might be an unseen obstacle keeping him from sucessfully jumping.  And he might try to jump onto the same spot repeatedly.  Now he will track bad spots and select a new one.
  • Using Mind Wave as a defence had some problems if he was in a room with a few Raals Tomes.  Borg will now keep track of the danger induced from non-effected (empty mind) monsters.  If the danger is too high, he won’t use the Mind Wave defence.
  • There was a crash error being caused by a variable being overwritten.  The problem was in the wilderness grids for tracking town location.  That overwrote the array for tracking glyphs.  When a certain glyph was created, it caused a crash.  It was not fun to track down.

I still do not have a version of vanilla angband that will compile in VS2008.  It might take the dev-team a few iterations before they have the dust settled.  I’ll pick up the vborg as soon as they have a version that is compatible with Visual Studio.

 

Posted in Zangband 240 | Leave a comment

Zborg updates for February

I made several changes and updates for the zborg during this past month. Here is a brief run-down.

  • MC are allowed to cast spells when blinded
  • No AS-corridor digging if a monster is adjacent.
  • Borg was getting twitchy after stepping on a special town door. He could not figure out how to flow over the door; he thought it was impassable.
  • Borg will keep track of worn items to avoid looping on Best Combo
  • Borg was not looking at the minimum fail rate requests for certain mutation activations.
  • Borg will consider unknown grids in a region that has been magic mapped at floor grids.
  • Borg has a bounce between flowing to a stair in order to leave a level an trying to pick up an item. I told the borg to not pick up items if he was in the process of leaving the level.
  • Borg was bouncing between flowing to an asleep town monster (then not attacking it) and flowing to the shops. Once the monster woke up, he attacked it. Borg will be allowed to attack sleeping town monsters.
  • Borg with no food will stair scum to get to the surface. In doing so, he will not chase down monsters or items (except food) while in this state.
  • Problem with the borg activating the Mutation Mind Blast, thinking it had a radius effect.
  • Borg was casting the Mind Wave defence manuever repeatedly, thinking he was blasting some monsters in a darkened room. He will not be required to have seen the monsters more recently.
  • Borg might starve to death waiting for summoner monsters to approach him.
  • Penalty for dipping into reserve mana when casting Psychic Drain was removed, since that spell returns mana.
  • Borg was incorrectly counting certain utility mutations (like WoR) when he ran low on mana.  If the mana ran out, he thought he was out of the utility, when really, he had it, but it was momentarily out of reach due to low mana.
Posted in Zangband 240 | Leave a comment

Lots of Zborg updates

Borg was over estimating his success rate on certain racial activations.

Borg needed to know that discounts don’t merge in the stores.

Improvements to using Telekinetic Wave while in a vault.  Borg uses it as a technique for teleport away.

Improvement to how the borg calculates monsters moving over z-terrains.

After Amnesia induced from ‘horrible visions’ borg needed to forget the map and regions that were magic mapped.

Mana penalty was too great for dipping into reserve mana.

After Wiz_lite, unknown grids are converted into dark floor grids.

Borg was miscalculating the bonus for +damage on weapons.  In 240 combat style.  It has a relatively small effect.

Reduced the penalty for using Cold and Sound spells near potions on the ground.  Only desirable potions have a penalty.

Jump into pit for mindcrafters. This will use DimDoor to jump into a pit or a spot where there are lots of monsters within LOS. He can then use Mind Wave on the entire throng.

Needed to make sure an object was seen recently before he flows to it. He was bouncing a bit on a grid trying to pick up an object which had been deleted.

Orb of Draining on nonID items to destroy the cursed ones.

Added support for carrying Pot of Resistance.

New Flow_glyph added, which will create a sea of runes.  The Sea of Runes is when the character builds an array of 24 glyphs around him. This prevents summoners from summoning monsters on top of the borg. He can then use Teleport Away on a monster which approaches the Sea. The Sea is being built correctly, but it is designed to be used when Morgoth is seen. I have not had any zborgs make it that deep yet, so the other support functions are written yet. I will adapt the routine to work with Oberon and the Serpent, once I get a borg that deep.

Borg can visit the Chaos Tower to fix mutations.

Mutation of Resistance supported for activation and counts towards inventory.

Posted in Zangband 240 | Tagged , , , , , | 1 Comment

Twitchy fix.

Sometimes, the borg could get stuck in a corner, surrounded by monsters and unable to fight due to fear.  He enters a Twitchy mode that allows him to make random movements.  But Twitchy forbade the 5-keypress, which was effectively resting in place.  I removed the forbid code, allowing him to hit 5, and rest in place.  This will allow him to rest and wait out the fear.

Posted in Angband (Vanillia) | Tagged , | 2 Comments

Dispel Spell Improvement

The borg was undervaluing the benefit of dispel effects.  He was omitting some monsters from the total effect.  Now that it is fixed, Dispel Evil looks much better to the borg.

The borg got stuck trying to crush an artifact in do_crush_slow().  He will now dump the artifact and mark it as bad so he won’t be interested in picking it up.

 

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

Randart DSM fix

The borg was trying to activate an artifact’s attack when that artifact was in the guise of a DSM.   He knew that the DSM did not have the standard DSM breath attack, but in this case, he was trying to activate the artifact.

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