The following changes were made between version 0.6.1 and 0.6.2: * Modified the artifact base object kind selection algorithm. The new code favors the generation of objects of the "appropriate" level for the artifact's level. (Actually, it aims for an object with about the same level as the original artifact's object type. This matters for artifacts (Hammerhand) for which the original artifact's depth (20) is much lower than the original object kind's depth (Steel Helm, 40).) * Unified the generation of soft/hard body armor and helms/crowns. (This is almost a by-product of the new object kind selection algorithm.) * New rarity computation: the new rarity is the original artifact rarity, plus the original base object kind rarity, minus the new base object kind rarity. Example: artifact #16, Razorback, has rarity 9 but is based on Multi-Hued DSM which has rarity 16. If the randomized version of this artifact uses a Blade of Chaos (rarity 8) as its base object kind, the new artifact rarity will be 9+16-8 = 17. The rarity should never drop below 1. * Allow the generation of Shield of Deflection artifacts. (How'd I miss that?) * Coders take note: the only change to randart.dif between 0.6.1 and 0.6.2 is the value of RANDART_VERSION in defines.h. The following changes were made between version 0.6.0 and 0.6.1: * Angband 2.8.3 support. (This was a much smaller change than 2.8.2 was.) * Added randart information (version and seed) to character dumps and the 'C' screen. Moved the version number into the defines.h file, rather than randmain.c. * Became more cautious about sizes of fields used internally; avoided multiplying large numbers during bow point calculations. (This may fix a bug reported by DOS users which allowed high (>3) MIGHT pval.) * Corrected spelling of "fiery". The following changes were made between version 0.5.2 and 0.6.0: * Separated cursed item generation from non-cursed (normal) item generation. * Integrated W. Sheldon Simms' random name generation algorithm. Note that this still relies on a external file for "input", but those names are only used to create frequency distributions from which randomized names will be built. * Removed the 120-point limitation. * Aggravation is now added to powerful items with probability 3% for each power rating point over 100. (Thus, a 134-point item will always aggravate.) This point value is computed from the original artifact, before the random powers are added. * Removed random PERMA_CURSE. * Made immunity ratings slightly higher. Also, added penalty points for having more than one immunity on the same item. Also, completely prevented having all four immunities on one item. * Prevented +X SHOTS or +X MIGHT (bows) where X > 3. Fixed the code which computes the rating for the bow multiplier. It's still too dependent on the to_dam bonus, though (symptom: short bow (x2)(+12,+2)(+3) -- if the +3 is MIGHT, the rating is still pretty low because of the +2 damage, yet after manual enchantment of the damage bonus this item will be rather powerful). * Some borderline case cleanup (e.g., +1 Infravision is now worth 1 point instead of 0 points). * Decreased the frequency of REGEN slightly. The following changes were made between version 0.5.1 and 0.5.2: * Convert to Angband 2.8.2. Many fields were renamed, and some were also moved from one flags[123] variable to another. The semantics of multiple shots and extra might are different. Some minor changes were necessary in the main game, but nothing consequential. * Bug fix: flags3 wasn't being cleared properly for the special artifacts (light sources, rings, amulets). This became noticeable under 2.8.2 because SEE_INVIS was moved to flags3. :-( The result was that these artifacts weren't as random as they should have been. * Bug fix: under SunOS with acc, cursed artifacts were sometimes given high rarities (255). The rarity adjustment code is no longer used when a cursed artifact is under consideration. * Extra shots now adds more points than it used to, even in the +1 case; also note that now we may have +2 or more.... * Added HIDE_TYPE to all the artifacts. I'm too lazy to figure out which ones need it and which ones don't at the moment. This hides information, which may upset the type of player that thinks the *Identify* scrolls should be made more common, but oh well. ;-) * The random number seed is printed in decimal instead of hexadecimal. * Added function prototypes to externs.h, both for do_randart() and for the init_[ak]_info() functions I liberated in init2.c. * Use ap2 instead of ap for one variable name to minimize possible confusion between two instances of this variable with nested scopes. (I broke one of my own personal coding standards. :-/ ) The following changes were made between version 0.5 and 0.5.1: * Bug fix: Phial would never be generated if using the in-game code (the standalone a_info generator didn't have this problem). * Made TELEPATHY, immunities, RES_DISEN and RES_NETHER more rare. * Increased probability of INT and WIS on helms and crowns. * Minor bug fix: make sure the special artifacts (lights, rings, amulets) ignore the elements. The following changes were made between version 0.4.1 and 0.5: * The power level is now chosen by analyzing the abilities of the original artifact, rather than applying a formula to the level and rarity of the artifact. (Mormegil and other bad artifacts goes to a low positive value instead of a hideous negative number, and Deathwreaker et al. are limited to 120 points instead of 200+.) The 4 bad artifacts are cursed (twice) after the powers have been allocated. * Implemented minimum-instance restrictions: if the generator does not produce a certain number of each of the basic types, the process is restarted. The minima apply to swords (5), polearms (5), hafted weapons (5), bows (3), body armor (5), shields (3), cloaks (3), headgear (4), gloves (4) and boots (4). This can sometimes cause the generation process to take longer, but is usually less of a problem than trying to find a sufficiently weak base item type for the three bad artifacts. UNRESOLVED ISSUE: starting over doesn't re-read the original a_info, so power evaluation becomes second-generation, then third-generation, etc. Subsequent generations tend to decrease in power slightly, but not always. * Tweaked relative probabilities of base object kinds; weapons and body armor are slightly less common, while other armor parts are slightly more common. * Fixed a bug in the artifact power evaluation algorithm: add points for weapon damage bonuses AFTER multiplying the base-kind and damage dice points by the slay/brand factors, instead of before. Damage bonuses are not multiplied by slays/brands in combat. (This bug caused evalution of some standard artifacts to come out with WAY too many points.) To compensate for this, multiple-blow weapons had to get a higher point-penalty. * Tweaked artifact power evaluation algorithm: negative stats now give small (linear) penalties, as opposed to high (quadratic) bonuses. (This was discovered when Beruthiel was evaluated....) * Modified artifact power evaluation: bad powers now subtract points. This brought back a little of the earlier behavior (artifacts with lots of bad powers and lots of great powers), so to compensate I allow the artifact power selection to stop if the power goes sufficiently negative. * Tweaked base object kind selection heuristic: the selected base object (including its intrinsic abilities and body-armor-resistance-hacks) now cannot exceed 80% of the suggested point value, instead of nearly all the allowable points. Also, base-object-kind points must be at least 10% of the total, which prevents silly things like the generation of a dagger (with a slew of powers) as a level-95 artifact. Object selection is tried a maximum of 200 times per artifact; this only matters in the low-end case, and tends to cause a medium-low-power artifact to be generated instead of a truly low-power one. * BLESSED weapons should always have a WIS bonus; sharp weapons with a WIS bonus will be BLESSED unless they are CURSED. Increased the proability of a WIS bonus on weapons. * No more negative BLOWS weapons. * Increased chance of a CON bonus on body armor. * Decreased the probabilities of BRAND_ACID and BRAND_ELEC. Removed IMPACT (neat effect, but it's too tricky to deal with properly). * High-power artifacts with low rarity will have their rarity boosted. This compensates for Bladeturner et al. which had extremely rare base item kinds and thus had a low rarity in the a_info file. Unfortunately, this doesn't help in the opposite case (e.g., some high-rarity item which used to be a long sword is now a Mace of Disruption). Oh, well. ;-) * Added command-line switches to the standalone randart: -v (verbose), and -s (specify seed). The following changes were made between version 0.4 and 0.4.1: * Artifacts generated when using the in-game option (as opposed to a custom a_info.txt file generated by the standalone randart) now ignore the four elements as they are supposed to. The following changes were made between version 0.3 (first public binary release) and 0.4: * Everyone's favorite: cursed items are now much less common! (This also allows BLESSED weapons to be more common, since the two are mutually exclusive, with CURSED overriding BLESSED.) TELEPORT is particularly rare. * Overall power levels of artifacts have been decreased (by only counting half the rarity instead of all of it). Deep but common artifacts are still rather powerful. * Base item kind is chosen with the artifact's level taken into account. If a too-powerful base kind is chosen, it will be rejected, so with any luck, every artifact will have some special ability (other than ignoring the 4 elements). * Activation text is "generic" instead of containing the object kind. * Body armor is much more likely to have elemental resists now. * The Westernesse slays (orc, troll, giant) are "linked". If one of them is added, it is fairly likely for each of the other two to be added. * Slay undead and slay demon are linked as per the Westernesse slays. * Weapons which get extra attack dice are more likely to get several dice instead of just one. * Enchantment bonuses have been improved in most cases. Speed bonuses are sometimes much higher. * Aggravation overrides negative stealth (it was redundant). * Experience draining overrides hold life (silliness). * High stealth bonuses are worth many more points (it's now quadratic, like high stat bonuses, instead of linear, like speed). * IMPACT is less common. * Various subtle changes -- kind-specific powers are more likely, some probabilities have been tweaked, cost penalties for curses are larger, etc.