View Single Post
Old February 4, 2008, 05:37   #1
DaJAngband Maintainer
will_asher's Avatar
Join Date: Apr 2007
Location: San Antonio, TX
Posts: 927
Donated: $10
will_asher is on a distinguished road
strange C code in Angband (am I reading this right?)

This code is in the function to do polymorphing:

	/* Allowable range of "levels" for resulting monster */
	lev1 = r_ptr->level - ((randint(20)/randint(9))+1);
	lev2 = r_ptr->level + ((randint(20)/randint(9))+1);
If I'm reading this right, then this takes a random number from 1 to 20 and divides it by a random number from 1 to 9 and then adds 1 and thats the variation how far the new polymorphed monster's level can be from the level of the original monster before it was polymorphed.

Why would the max range of the levels of the polymorphed monsters be a random thing instead of fixed?

This strikes me as a very strange formula and I wonder how whoever programmed this came up with it. Am I reading this right? Does this strike anyone else as odd?

..just something I wondered about when I was looking at the code..

Play DaJAngband:
will_asher is offline   Reply With Quote