View Single Post
Old November 21, 2016, 21:28   #12
Vanilla maintainer
Nick's Avatar
Join Date: Apr 2007
Location: Canberra, Australia
Age: 53
Posts: 7,188
Donated: $60
Nick is on a distinguished road
Originally Posted by Derakon View Post
I'm fine with removing monster power code, but I'd think very carefully about object power. I suspect that power is not so linear as you describe; in particular, the power of a given item is dependent on all the other items that you could equip in that slot.
This is true, and I was oversimplifying.

The current object power is largely linear, for example
	int q = (obj->to_h * TO_HIT_POWER / 2);
	p += q;
adds a linear bonus per +1 to-hit, where TO_HIT_POWER is the scaling factor.

Other things have a bonus for more than one appearing, such as object flags:
	for (i = 0; i < N_ELEMENTS(flag_sets); i++) {
		if (flag_sets[i].count > 1) {
			q = (flag_sets[i].factor * flag_sets[i].count * flag_sets[i].count);
			p += q;
			log_obj(format("Add %d power for multiple %s, total is %d\n",
						   q, flag_sets[i].desc, p));

		/* Add bonus if item has a full set of these flags */
		if (flag_sets[i].count == flag_sets[i].size) {
			q = flag_sets[i].bonus;
			p += q;
			log_obj(format("Add %d power for full set of %s, total is %d\n", 
						   q, flag_sets[i].desc, p));
These I think are reasonable, and on the whole I think after some clarification the object power code will not change much apart from the following two areas:
  • Slays and Brands - here there is a big sum done across all monsters of (monster power) * (best multiplier). This is appealing to me as a mathematician, except for the fact that it forms a small part of the total object power, and so is a tiny little piece of precision in a sea of fudge factors. Better just to treat slays and brands like object flags - they get a fixed value, maybe some bonuses for multiples, and be done with it.
  • Off-slot extra might, blows and shots. These don't exist in the standard artifact set, and complicate the reasoning for power calculations. I propose disallowing them from randarts.

There will still be a certain amount of guesswork required beyond the actual scaling factors - how to assess off-weapon combat bonuses, for example - but I'm inclined to keep it to a minimum.
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
Nick is offline   Reply With Quote