Guaranted starting spellbook completely skewering spellbook distribution in the game
issueid=3798 08-18-2015 08:42 AM
Senior Member
Number of reported issues by Scooter Fox: 14
Guaranted starting spellbook completely skewering spellbook distribution in the game

Applies to:
- Druids - guaranteed Divine Wrath/Lightning Bolt and extreme abundance of Lightning Bolt spellbooks throughout the game.
- Necromancers - same but with Frost Bolt
- Salamander-born Wizards - same but with Fire Bolt

Already reported here in a more limited version: http://www.adom.de/forums/project.php?issueid=3696
Non-bug report thread: http://www.adom.de/forums/showthread...-Divine-Wrath!

My druid, from Dwarftown, through dwarven graveyard, pyramid, IQD/FGJC, a few random dungeons, Minotaur Maze up to and including Tomb of the High Kings found following number of spellbooks (names converted to arcane from clerical):
- Bless: 5
- Burning Hands: 2
- Calm Monster: 1
- Cure Critical Wounds: 1
- Cure Disease: 3
- Cure Light Wounds: 1
- Cure Serious Wounds: 2
- Darkness: 3
- Death Ray: 1
- Frost Bolt: 1
- Invisibility: 1
- Know Alignment: 1
- Light: 1
- Lightning Bolt: 22
- Magic Map: 1
- Mystic Shovel: 1
- Neutralize Poison: 2
- Revelation: 1
- Strength of Atlas: 2
- Stun Ray: 1
- tract of chaos: 1

22 out of 56 spellbooks were of one type. This is beyond ridiculous. I'm very sure it wasn't like that in prerelease 23 and the older bug report points to R57.
If it's a feature, it's completely overtuned in my opinion and doesn't make much sense. If it's supposed to limit accessibility to other spells, just generate less books - finding 30 books of the same kind feels weird and unnatural.

I'd like to ask for a clarification whether it's intentional or a bug.
Issue Details
Issue Number 3798
Project ADOM (Ancient Domains Of Mystery)
Category All
Status Fixed
Priority 1 - Highest
Affected Version ADOM r59
Fixed Version ADOM r68 (v2.2.2)
Milestone (none)
Users able to reproduce bug 7
Users unable to reproduce bug 0
Assigned Users (none)
Tags (none)




08-18-2015 04:50 PM
Ancient Member
I can confirm this for a necromancer and nether bolt.
I had around 7000 castings by the time I reached the ToEF.
Every third spellbook was nether bolt.

08-21-2015 07:17 AM
Senior Member
I can confirm for all three cases mentioned by Scooter Fox. I play casters for flexibility, not because I want to spam a single spell for the whole game, and the skewed distribution makes it too hard to find other spells.

08-22-2015 10:02 PM
The Creator
This is really interesting. I have examined the source code and as far as I can see, the code for determining the spell contained in a spell book has not changed since January 2012 at least (we switched our version control system at that time... I don't have the older history available).

08-22-2015 10:18 PM
The Creator
I just used debug mode to test this further with a dwarves druid (currently on D: 16). I generated lots of random spell books and received the following distribution (which looks totally ok to me):

spellbook of Baptism of Fire [100s]
spellbook of Baptism of Fire [100s]
spellbook of Baptism of Fire [100s]
spellbook of Bless [100s]
spellbook of Bless [100s]
spellbook of Bless [100s]
spellbook of Bless [100s]
spellbook of Calm Monster [100s]
spellbook of Calm Monster [100s]
spellbook of Cure Disease [100s]
spellbook of Cure Disease [100s]
spellbook of Cure Light Wounds [100s]
spellbook of Cure Light Wounds [100s]
spellbook of Darkness [100s]
spellbook of Darkness [100s]
spellbook of Darkness [100s]
spellbook of Darkness [100s]
spellbook of Dispel Undead [100s]
spellbook of Dispel Undead [100s]
spellbook of Dispel Undead [100s]
spellbook of Dispel Undead [100s]
spellbook of Dispel Undead [100s]
spellbook of Dispel Undead [100s]
spellbook of Dispel Undead [100s]
spellbook of Divine Digger [100s]
spellbook of Divine Digger [100s]
spellbook of Divine Digger [100s]
spellbook of Divine Wrath [100s]
spellbook of Earthquake [100s]
spellbook of Ethereal Bridge [100s]
spellbook of Holy Awe [100s]
spellbook of Holy Awe [100s]
spellbook of Know Alignment [100s]
spellbook of Lesser Divine Touch [100s]
spellbook of Lesser Divine Touch [100s]
spellbook of Light [100s]
spellbook of Light [100s]
spellbook of Light [100s]
spellbook of Lordly Might [100s]
spellbook of Minor Punishment [100s]
spellbook of Revelation [100s]
spellbook of Slow Poison [100s]
spellbook of Slow Poison [100s]
spellbook of Web [100s]
spellbook of Web [100s]
spellbook of Slow Poison [100s]
spellbook of Slow Poison [100s]
spellbook of Slow Poison [100s]
spellbook of Slow Poison [100s]
spellbook of Slow Poison [100s]
spellbook of Slow Poison [100s]
spellbook of Slow Poison [100s]
spellbook of Slow Poison [100s]
spellbook of Slow Monster [100s]
spellbook of Slow Monster [100s]
spellbook of Slow Monster [100s]
spellbook of Seal of the Spheres [100s]
spellbook of Seal of the Spheres [100s]
spellbook of Revelation [100s]
spellbook of Revelation [100s]
spellbook of Remove Curse [100s]
spellbook of Neutralize Poison [100s]
spellbook of Neutralize Poison [100s]
spellbook of Neutralize Poison [100s]
spellbook of Neutralize Poison [100s]
spellbook of Nether Bolt [100s]
spellbook of Nether Bolt [100s]
spellbook of Nether Bolt [100s]
spellbook of Nether Bolt [100s]
spellbook of Nether Bolt [100s]
spellbook of Lordly Might [100s]
spellbook of Lordly Might [100s]
spellbook of Light [100s]
spellbook of Light [100s]
spellbook of Light [100s]
spellbook of Light [100s]
spellbook of Light [100s]
spellbook of Light [100s]
spellbook of Light [100s]
spellbook of Lesser Divine Touch [100s]
spellbook of Lesser Divine Touch [100s]
spellbook of Knowledge of the Ancients [100s]
spellbook of Know Alignment [100s]
spellbook of Know Alignment [100s]
spellbook of Know Alignment [100s]
spellbook of Know Alignment [100s]
spellbook of Holy Awe [100s]
spellbook of Hellish Flames [100s]
spellbook of Greater Divine Touch [100s]
spellbook of Greater Divine Touch [100s]
spellbook of Farsight [100s]
spellbook of Ethereal Bridge [100s]
spellbook of Divine Wrath [100s]
spellbook of Divine Wrath [100s]
spellbook of Divine Wrath [100s]
spellbook of Divine Wrath [100s]
spellbook of Divine Wrath [100s]
spellbook of Divine Wrath [100s]
spellbook of Divine Wrath [100s]
spellbook of Divine Wrath [100s]
spellbook of Divine Key [100s]
spellbook of Divine Key [100s]
spellbook of Dispel Undead [100s]
spellbook of Dispel Undead [100s]
spellbook of Dispel Undead [100s]
spellbook of Dispel Undead [100s]
spellbook of Dispel Undead [100s]
spellbook of Dispel Undead [100s]
spellbook of Dispel Undead [100s]
spellbook of Dispel Undead [100s]
spellbook of Dispel Undead [100s]
spellbook of Disarm Trap [100s]
spellbook of Disarm Trap [100s]
spellbook of Disarm Trap [100s]
spellbook of Disarm Trap [100s]
spellbook of Darkness [100s]
spellbook of Darkness [100s]
spellbook of Darkness [100s]
spellbook of Darkness [100s]
spellbook of Darkness [100s]
spellbook of Darkness [100s]
spellbook of Darkness [100s]
spellbook of Darkness [100s]
spellbook of Cure Serious Wounds [100s]
spellbook of Cure Serious Wounds [100s]
spellbook of Cure Serious Wounds [100s]
spellbook of Cure Light Wounds [100s]
spellbook of Cure Light Wounds [100s]
spellbook of Cure Light Wounds [100s]
spellbook of Cure Light Wounds [100s]
spellbook of Cure Light Wounds [100s]
spellbook of Cure Light Wounds [100s]
spellbook of Cure Disease [100s]
spellbook of Cure Disease [100s]
spellbook of Cure Disease [100s]
spellbook of Cure Disease [100s]
spellbook of Calm Monster [100s]
spellbook of Calm Monster [100s]
spellbook of Bless [100s]
spellbook of Bless [100s]
spellbook of Bless [100s]
spellbook of Bless [100s]
spellbook of Bless [100s]
spellbook of Bless [100s]
spellbook of Bless [100s]
spellbook of Baptism of Fire [100s]
spellbook of Baptism of Fire [100s]
spellbook of Baptism of Fire [100s]

This raises the question: What is special about your game?
- Which OS are you running on?
- Are you on Steam?
- Are you playing story mode?
- Did you adjust any game customization options (treasure rarity or whatever)?
- What is your star sign (the code doesn't care about your star sign but who knows...)?
- Anything else that seems special?

Currently I just can't reproduce the problem :-(

08-23-2015 02:19 AM
Ancient Member
i've got it with a druid and necro

- Which OS are you running on? - Win 7
- Are you on Steam? - the steam version, ascii only
- Are you playing story mode? - no changes all default
- Did you adjust any game customization options (treasure rarity or whatever)? - as above
- What is your star sign (the code doesn't care about your star sign but who knows...)? - candle / book
- Anything else that seems special? - no

08-23-2015 02:35 AM
Senior Member
I have this in my current salamander wizard run.

Just to give a general idea of the problem, my spell knowledge for firebolt is 30,000 - next highest is Light at 17,000. And this is with +66 effectiveness (i spam it a lot since I have so many castings). I even go out of my way to buy other spellbooks for other damage types, but firebolt dominates by far.

Running windows 8, not steam, not noteye version purely ascii. Didn't adjust anything this is straight out of the box.

Edit: Are monster drops at all different from books randomly generated at level creation? May be tedious but perhaps spawn tons of monsters and kill them all off repeatedly ?

08-23-2015 07:32 AM
The Creator
Quote Originally Posted by Burb
Edit: Are monster drops at all different from books randomly generated at level creation? May be tedious but perhaps spawn tons of monsters and kill them all off repeatedly ?
No, the code is identical. Sadly :-(

08-23-2015 01:01 PM
Member
Here's a minimal save file for this issue, DE Druid Terinyo->SMC->UD->CoC->Dwarftown. All offensive spellbooks found have been Divine Wrath so far, two of them are still in High Mountain Village and Dwarftown shops. Linux R59 free version.

08-23-2015 02:38 PM
Senior Member
- Which OS are you running on?
Windows 8.1 64 bit
- Are you on Steam?
Do you mean the closed version for the backers? Then no, I play the version available for everyone. I don't keep Steam on when I play ADOM anyway.
- Are you playing story mode?
The default one.
- Did you adjust any game customization options (treasure rarity or whatever)?
I don't even know how to do it. :)
- What is your star sign (the code doesn't care about your star sign but who knows...)?
Candle.
- Anything else that seems special?
Yes, my mist elf didn't die before reaching level 10. :) Apart from that, I had an impression that books generated from greater vault's dragon loots were distributed much more normally than those found lying in the dungeons, but since you said the code is identical, it might have been just my imagination.

EDIT: I tried to upload the save file for this character, but both the older backup from when I entered dwarven graveyard and the current one are way too big for the 1 MB limit. Should I try uploading them somewhere else? Character is a mist elven druid.

08-23-2015 04:46 PM
Member
Compress your save file with zip before sending it. Thanks :)

08-23-2015 05:22 PM
Senior Member
I feel like a total idiot now. On it.
EDIT: done. The save file is the older backup, about several spellbooks into the stats I provided in the opening post. By the way the forum doesn't seem to like the .7z format for some reason.

08-23-2015 05:58 PM
Ancient Member
Is it possible this has something to do with the change for how "books" as opposed to "spellbooks" are handled by the RNG? There was a bug in 1.1.1 where Necros started with a random "book", which gave either a tract, book of Confucius, or Frost Bolt.

08-23-2015 06:55 PM
Senior Member
Is there any difference in the codes for generating a book on the floor, as opposed to generating a book in treasure dropped by a monster? The skew is more evident for classes that generate more books on the floor.

08-23-2015 07:32 PM
The Creator
Quote Originally Posted by BenMathiesen
Is there any difference in the codes for generating a book on the floor, as opposed to generating a book in treasure dropped by a monster? The skew is more evident for classes that generate more books on the floor.
No, the generation code is identical :-P

08-24-2015 01:12 AM
Ancient Member
didn't you change the item distributions at some point to fix fletchery sets never appearing? I feel like that was the last time books generated randomly.

08-24-2015 04:04 AM
Senior Member
Is spellbook generation affected by some kind of variable or set of variables that gets set as the game starts? Maybe something in a completely different place of the code uses the same memory address or the same variable?

08-31-2015 06:02 PM
Ancient Member
I had this thing happened to a necromancer (HE, I think). It did not go too far into game, but most of spellbooks on the floor were generated of frost bolt (like, 6 from 7).

09-03-2015 10:21 AM
Junior Member
Could it be related to this bugfix "Necromancer starts with elementalist spell knowledge (and no Frost Bolt book?)" from release 57?

06-20-2016 06:07 AM
Senior Member
Confirm this with the Hu-wi and the Salamander. 6 or 7 SB of Firebolt is totally enough to make the early game real challenge.

06-20-2016 12:56 PM
Senior Member
Is this a bug or a feature?

+ Reply