[RFE] Improve spell list
issueid=3422 11-21-2014 04:22 PM
Junior Member
Number of reported issues by Waladil: 7
[RFE] Improve spell list
Borrow Cataclysm's bionic list for ADOM spells

Situation: The PC is a level one wizard with two spell books: Light and Magic Missile. The PC reads both books, and starts using Magic Missile heavily to handle enemies by pressing Zb<direction>. The Zb command becomes ingrained in the player's muscle memory, and the player habitually hits it when there's a nearby monster. Then, the PC finds a spellbook of Acid Bolt, reads it, and now the memorized Zb command casts the (highly situational) Light instead of the combat Magic Missile.

Arguably, the quick-spell system combats this, but that system is really clunky for two reasons: One, the only keys that can be used for it are number keys, which are a distance from the Z key, requiring either a long jump with the left hand or by using both hands (saving even quarter of a second can really add up if a character casts a couple thousand spells in the course of a game), and it makes it much slower to use any non-quickmarked spells because you have to bypass the "convenient" quickmark menu every time you want to cast a non-quickmarked spell.

So I recommend that ADOM borrow a design element from Cataclysm, specifically the bionic menu. The rules for that, modified for ADOM, would be thus:
1. The first spell you learn is mapped to a. The second spell you learn is mapped to b, and so on.
2. Forgetting spells from overuse does not move all the other spells up a letter. The next spell learned after a spell is forgotten will take the forgotten spell's place.*
3. Spells can be remapped to any letter. If a spell is assigned to a blank letter, the letter that the spell used to occupy is made available, and if the spell is assigned to an occupied letter, then the two spells switch bindings.

The superiorities of this system over the current ADOM system are:
1. So long as you don't forget a spell, or manually rebind it, it will always have the same letter assigned to it.
2. The player can design their own convenient or intuitive bindings. Maybe you want to assign a super-commonly-cast spell to z so you can just press Zz (or if you're like me and rebound cast spell to lowercase z, it'd just be double-tap z). Maybe the player wants to assign acid bolt to a, magic missile to m, and burning hands to b, so it becomes intuitive that you just need to tap the first letter of each combat spell to cast it.

Yes, this would require old players to re-learn things, but I'm not sure how this system could be considered worse in any way for a new learner, or a re-trained old user.

Note: I just counted from the wiki, and there are 47 spells available in ADOM. Conveniently, there are also exactly 47 characters on a standard US keyboard (and probably most other keyboards? I'm not sure) without having to resort to differentiating between lower and upper case. Or shift at all. There's a-z (26) 0-9 (10), and ,./;'[]\`-=(11). So long as this is true for international keyboards and no new spells are added, the standard ADOM system of each page being it's own set of keybinds could even be removed and allow each spell to have an utterly unique command. Even if new spells are added, or some keyboard editions have less, differentiating between upper and lower case makes it simple to handle far more spells than ADOM currently has while being completely international-friendly. I believe Cataclysm:Dark Days Ahead has 74 available keybindings, and the lead dev over there has a deep love for making things international friendly and has actually removed some keybinding characters because they don't appear on international keyboards.

*In code terms, what this is is a simple for-if loop that checks each letter's availability in turn then when it finds an available one it assigns the new spell to that letter.
Issue Details
Issue Number 3422
Issue Type Feature
Project ADOM (Ancient Domains Of Mystery)
Category All
Status Suggested
Priority Unknown
Suggested Version ADOM r53
Implemented Version (none)
Milestone (none)
Votes for this feature 3
Votes against this feature 4
Assigned Users (none)
Tags (none)




+ Reply