Full acquirement spoiler
For fuck's sake stop linking people to this it's completely out of date
For fuck's sake stop linking people to this it's completely out of date
For fuck's sake stop linking people to this it's completely out of date
For fuck's sake stop linking people to this it's completely out of date
For fuck's sake stop linking people to this it's completely out of date
For fuck's sake stop linking people to this it's completely out of date
For fuck's sake stop linking people to this it's completely out of date
For fuck's sake stop linking people to this it's completely out of date
For fuck's sake stop linking people to this it's completely out of date
For fuck's sake stop linking people to this it's completely out of date
For fuck's sake stop linking people to this it's completely out of date
For fuck's sake stop linking people to this it's completely out of date
For fuck's sake stop linking people to this it's completely out of date
For fuck's sake stop linking people to this it's completely out of date
Flowchart that will almost always lead you to my acquirement advice: http://i.imgur.com/dl7aXwH.png
"Acquirement level" is item level 351. Floor items get an item level equal to the absolute depth, so D:10 items are level 10, Depths:3 items are level 25 (because Depths starts at depth 23), etc.
There are probably some mistakes in this, since the code for each acquirement is completely different and usually bizarre.
Ammunition acquirement
First pick throwing, slings, bows, or crossbows with weight corresponding exactly to the skill levels, e.g. if you have 5 slings skill and 10 throwing skill, you have a 2/3 chance of picking throwing and a 1/3 chance of picking slings.
If all four skills are exactly 0, then acquirement will always pick throwing!
Then you get a stack of ammunition for that skill that is 5 times as large as a normal floor stack would be. If the skill wasn't throwing, this is just plain sling bullets, arrows, or bolts.
If the skill was throwing, then trolls and ogres have a 4/13 chance of getting large rocks, 4/13 chance of javelins, 3/13 chance of needles, and 2/13 chance of tomahawks. Races too small to throw javelins have a 3/5 chance of needles and a 2/5 chance of tomahawks. Other races have a 4/9 chance of javelins, 3/9 chance of needles, and 2/9 chance of tomahawks. Throwing ammo gets the same brands it would get if generated on the floor at acquirement level.
Needle brands at acquirement level:
1/6 curare
5/16 sleep
5/16 confusion
5/48 paralysis
5/48 frenzy
Javelin brands at acquirement level:
2/9 returning
32/135 penetration
32/135 poisoned
7/45 steel
4/27 silver
Tomahawk brands at acquirement level:
1/6 poisoned
1/6 exploding
1/9 silver
1/9 steel
2/15 dispersal
14/45 returning
Armour acquirement
If you are a naga or centaur, and haven't seen your race's barding yet, you have a 50% chance of getting a barding. If you've seen a barding already, you still have a 25% chance of getting another barding anyway. Otherwise, you have an equal chance for all 6 armour slots (shield is an armour slot for some stupid reason) being chosen, provided you can wear something in that slot, and an item is created for that slot.
If that item isn't an artefact, and the exact subtype (e.g. helmet, hat, chain mail) has been seen before with the same ego, there's a 2/3 chance of the acquirement starting over, unless it's already made a lot of attempts in which case the chance gets lower (after 20 tries it won't start over any more).
After that, if the item isn't an artefact, occupies an armour slot that you have already seen, and has no ego OR is body armour and passes a 50% chance, and there is an auxiliary armour slot (cloak, gloves, helm, boots) that you have not seen, then it will be replaced with a new item for one of those unseen slots. If those conditions were met and you have already seen items to fill all auxiliary slots, the acquirement has a 1/3 chance of starting over. This chance doesn't get lower with successive attempts.
If acquirement gives you something for the helmet slot, it has a 50% chance of being a helmet and a 50% chance of being a hat, unless you can't wear helmets in which case you'll always get a hat.
If it gives you a shield, it doesn't really matter what I say after that because it's a shield lol, who cares what kind of useless shield it is. The shield subtype (buckler, shield, large shield) gets bigger (worse) with increasing Shields skill and increasing species size.
If it gives you body armour, to determine which body armour you get, first look at this list of weights:
- Code:
Animal skin: 1332 (0.379885%)
Robe: 4000 (1.14080%)
Ring mail: 25000 (7.12998%)
Scale mail: 36000 (10.2672%)
Chain mail: 64000 (18.2528%)
Plate armour: 100000 (28.5199%)
Crystal plate armour: 100000 (28.5199%)
Troll leather armour: 800 (0.228159%)
Steam dragon armour: 625 (0.178250%)
Mottled dragon armour: 900 (0.256679%)
Swamp dragon armour: 1225 (0.349369%)
Fire dragon armour: 1600 (0.456319%)
Ice dragon armour: 2025 (0.577529%)
Quicksilver dragon armour: 2025 (0.577529%)
Storm dragon armour: 2500 (0.712998%)
Shadow dragon armour: 2500 (0.712998%)
Pearl dragon armour: 2500 (0.712998%)
Gold dragon armour: 3600 (1.02672%)
Book acquirement
If less than 25% of your skill levels are in spell skills, then you get a manual with a [non-magic skill levels] in [2*magic skill levels + non-magic skill levels] chance. Otherwise you get a book.
If you get a manual, which manual you get is determined by buggy code. I don't feel like explaining it since I hope the acquirement bugs are finally going to be fixed now that I'm making players aware of them.
- Code:
static bool _acquire_manual(item_def &book)
{
int weights[NUM_SKILLS] = { 0 };
int total_weights = 0;
const bool knows_magic = _knows_and_likes_magic();
for (skill_type sk = SK_FIRST_SKILL; sk < NUM_SKILLS; ++sk)
{
int skl = you.skills[sk];
if (skl == 27 || is_useless_skill(sk))
continue;
int w = (skl < 12) ? skl + 3 : max(0, 25 - skl);
// Greatly reduce the chances of getting a manual for a skill
// you couldn't use unless you switched your religion.
if (_skill_useless_with_god(sk))
w /= 2;
// If we don't have any magic skills, make non-magic skills
// more likely.
if (!knows_magic && !_is_magic_skill(sk))
w *= 2;
weights[sk] = w;
total_weights += w;
}
// Are we too skilled to get any manuals?
if (total_weights == 0)
return false;
book.sub_type = BOOK_MANUAL;
book.skill = static_cast<skill_type>(
choose_random_weighted(weights, end(weights)));
// Set number of bonus skill points.
book.skill_points = random_range(2000, 3000);
return true;
}
1. manuals for magic skills under Trog, etc. get vetoed because your god dislikes them, so the intended chance of getting manuals that are useless with your god (with half weight) doesn't actually exist in most cases.
2. it uses the integer skill level to determine weight
_knows_and_likes_magic() is simply true if you have a magic skill that is level 1 or above, and do not worship Trog.
This is a good time to mention that integer skill levels are still used all over the place, and acquirement is an example - all the acquirements here look at only integer skill levels. Perhaps I sound like a broken record at this point, but "skill levels are smooth" is a lie and I really wish people would stop telling it and believing it.
If you get a book, you have a 30/71 chance of getting a "theme randart" book (spells themed around 2 schools, this is what most randart books are), a 40/71 chance of getting a regular non-randart book, and a 1/71 chance of getting a "level randart" book (spells that are all the same level).
If the scroll decided to give you a non-randart book, go through all of the books in the game, and make the weight of each book by adding up the weights of all the spells in it, then pick from that weighted list. The weight of a spell is 0 if you have seen it or your god hates it, otherwise it is 2*[average of your integer skill levels for its spell schools]+5-[spell level].
If all eligible books have weight 0, you get a "theme randart" book instead. In that case, each spell is given this weight:
max(1,(2+[average of your integer skill levels for its spell schools])/3)*(5-abs(3*[spell level]-[Spellcasting skill])/7)
Spells you've already seen get 1/4th their normal weight here, instead of weight 0; you can acquire a randart book with no new spells.
The two schools for the randbook are chosen with the weights of all the spells belonging to those schools, and then the spells belonging to those schools are chosen based on their weights. The book has 1+(3d7)/3 spells.
If it is a "level randart", the chosen spell level will always be max(1,[Spellcasting skill + 2]/3) unless it was a Xom acquirement, in which case the level is completely random. If it was a Xom acquirement, the level randart book can have uncastable spells; otherwise, it cannot. Aside from that restriction, and being the correct level, the spells are completely random as far as I can tell, and will happily include spells you've already seen. The number of spells in a level randart book is always the same for a given level. Levels 1,2,3 have 5 spells, levels 4,5,6 have 6 spells, level 7 has 4 spells, level 8 has 2 spells, and level 9 has 1 spell.
Food acquirement
Only useful if you worship Fedhas, in which case it gives 7+(2d15)/2 pieces of fruit.
If you are a ghoul, is even worse than normal: gives 2+3d5 chunks instead of permafood.
If you are a vampire, you get 7+1d5 potions of blood.
Otherwise, you have a 50% chance of getting 2+3d5 royal jellies, and otherwise get 2+1d5 rations (bread if herbivorous, meat otherwise).
Gold acquirement
Gives 10*(20+1d20+1d8*1d8*1d8) gold. Note that when you pick up a gold pile from acquirement under Zin, the piety from the tithe is subject to a stepdown (stepdown_value(tithe, 10, 10, 50, 50)). If you are acquiring gold under Zin, you should avoid standing on an existing gold pile when doing so since the existing gold will become acquirement-tainted. It's okay to acquire in the Orcish Mines, however (normally gold collected in Orc gives half piety so you should lure orcs out of the branch when possible before killing them and collecting their gold, but the acquirement case overrides this case).
Jewellery acquirement
You have a 1 in [number of ring slots]+1 chance of getting an amulet (so 1/3 for most races, 1/9 for octopodes, 1/2 if missing a hand, 1/8 if missing a hand as an octopode). Ring and amulet type is the same as one that would generate on the floor, i.e. equal chances for all types except slaying, which is 1/3 the frequency of any other type, and at acquirement level there is a 28.85% chance of the jewellery being a randart. However, if it's a type you've already seen (even one like slaying or protection where multiple rings are useful), it restarts the acquirement up to 9 times - the 10th time will always succeed even if you've already seen the type. Negative rings of protection/strength/slaying/etc. get their enchantment set to +1 instead. Loudness, teleportation, and inaccuracy have an extra 8/9 chance of being made into randarts. Jewellery acquirement is bad.
Misc acquirement
If you haven't seen a crystal ball of energy, you have an Evocations * max(Spellcasting, Invocations) out of 729 chance of getting one. In other words, more skill is bad. Otherwise, you get either something good, or a stone of tremors, chosen from this weighted list:
Staff acquirement
If you get a staff, and your highest magic skill (INCLUDING SPELLCASTING) is fire, ice, air, earth, poison, necromancy, conjurations, or summoning, you have a 1/2 chance of getting that enhancer staff, unless you've already identified said staff, in which case you have a 1/3 chance at getting a completely random staff (with no bias towards unidentified ones). Otherwise, you get a 2/5 chance of wizardry, 2/5 chance of energy, 1/5 chance of power, even if you've already identified those.
If you get a rod, all rods have equal chances of being given. There is no bias towards unidentified rods. Rods of shadows will not be given if you have sacrificed love.
Wand acquirement
Picks a wand from a weighted list:
- Code:
Heal wounds: 25 (decrease to 5 if you have level 3 of the no device heal mutation, decrease to 0 if you've ALSO sacrificed love)
Hasting: 25 (decrease to 5 if you are a formicid, decrease to 0 if you've ALSO sacrificed love)
Acid, lightning, iceblast: 16 each
Teleportation: 15 (decrease to 1 if you are a formicid or in Sprint)
Disintegration, digging, polymorph, enslavement: 5 each (decrease enslavement to 0 if you've sacrificed love)
Random effects: 3
Flame, confusion, paralysis, slowing: 1 each
Weapon acquirement
First pick a weapon class. The weight of each weapon class is (2+[your skill in that class])*(3+[your skill in that class]). Then just pick from that weighted list.
Then pick a handedness. The purpose of this part of the formula is to reward you if you massively overtrained your weapon skill, or fuck you over if you started as a Fi and have shields skill.
- Code:
// Let's guess the percentage of shield use the player did, this is
// based on empirical data where pure-shield MDs get skills like 17 sh
// 25 m&f and pure-shield Spriggans 7 sh 18 m&f. Pretend formicid
// shield skill is 0 so they always weight towards 2H.
const int shield_sk = you.species == SP_FORMICID
? 0
: you.skills[SK_SHIELDS] * species_apt_factor(SK_SHIELDS);
const int want_shield = min(2 * shield_sk, best_sk) + 10;
const int dont_shield = max(best_sk - shield_sk, 0) + 10;
dont_shield = max([highest weapon skill]-[Shields skill],0)+10
Note that it always uses your highest weapon skill here, even if the weapon type it chose earlier doesn't actually belong to your highest weapon skill. Unarmed Combat also counts as a weapon skill for determining whether you want a shield, so if Unarmed Combat happens to be your highest weapon skill, higher Unarmed Combat skill makes you more likely to get two-handed weapons from acquirement.
Base acquirement weights for weapons are as follows:
- Code:
Mace: 1000
Flail: 1000
Morningstar: 1000
Demon whip: 500
Dire flail: 1000
Eveningstar: 500
Great mace: 1000
Giant club: 1000
Giant spiked club: 1000
Dagger: 1000
Quick blade: 1388
Short sword: 1000
Rapier: 1000
Falchion: 1000
Long sword: 1000
Scimitar: 1000
Demon blade: 500
Double sword: 500
Great sword: 1000
Triple sword: 500
Hand axe: 1000
War axe: 1000
Broad axe: 1000
Battleaxe: 1000
Executioner's axe: 500
Spear: 1000
Trident: 1000
Halberd: 1000
Demon trident: 500
Glaive: 1000
Bardiche: 500
Quarterstaff: 1000
Lajatang: 500
Hunting sling: 1000
Greatsling: 500
Hand crossbow: 1000
Arbalest: 1000
Triple crossbow: 500
Shortbow: 1000
Longbow: 1000
If the weapon is not an artefact and its "brand quality" is below 1d6-1, reroll it, and repeat until it isn't below 1d6-1 (the 1d6-1 is rerolled every time too). Brand quality table:
After that, if the weapon is not an artefact and the brand has already been seen on that weapon type, there is an 80% chance of rerolling the brand; this is repeated until an unseen brand appears or that 80% chance fails.
The weapon's enchantment is set to max([floor enchantment],1d2-1). If you acquired a giant club or giant spiked club, it has a 24/25 chance of being made a randart, since it won't get a brand.
In conclusion, acquirement is stupid.