DGoldDragon28 / Unangband

A roguelike originally created (and developed until version 0.6.4c) by Andrew Doull.
https://dgolddragon28.github.io/Unangband/
GNU General Public License v2.0
59 stars 6 forks source link

Fiery Blow/Radiant Blow #36

Closed StultusTemporis closed 6 years ago

StultusTemporis commented 7 years ago

Radiant Blow and Fiery Blow from the Prayer Book of Inquisition have requirements that are unavailable in that book, or in the proceeding books. Fiery blow requires Radiant Blow or Palmfire. Radiant Blow requires Fiery Blow or Light Area (the light spell in the Book of Castigations is Call Light, which does not count.)

If you require any files to demonstrate this problem, please do not hesitate to ask.

StultusTemporis commented 7 years ago

Temporary fix: The requirement for Radiant Blow can be changed in the spell file of the Edit folder (under the libraries) to require either Fiery Blow or Call Light. To do this, change the second "P" value of Radiant Blow from 4 (the ID, or "N" value, of Light Area) to 64 (the ID of Call Light). Note that this may cause problems for characters who receive Light Area and Radiant Blow, but do not receive Call Light. This is true even if the ID of Light Area is retained as a third value, as only the first two "P" values are called. If one plans on using this fix, I recommend not retaining Light Area as a third value, as it has no benefit, and I have not tested whether having too many values in this field causes the game to crash. All of the spells have two "P" values, even if the "P" value is 0, so a crash seems likely should one decide to modify this file and retain a third value.

A more permanent fix may be to create a second version of Radiant Blow in the spell file that is identical to the current version in all respects except for the prerequisites, and then call this version in the Book of Inquisition. I leave the decision of whether to do this or not up to the maintainer, as this is a major design decision and I am not certain of all the steps that would be required.