Angband Forums What if someone had the map upside down? - aka blows again
 Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

 September 3, 2018, 14:32 #11 Nick Vanilla maintainer     Join Date: Apr 2007 Location: Canberra, Australia Age: 53 Posts: 7,277 Donated: \$60 The blows table was essentially unchanged from 2.7.8 to 3.1.2, and it contained the actual number of blows (which was then reduced if it had passed the class cap). In 3.2.0 it changed to having an amount of energy per blow, and the number of blows became 100 / (value from blows table), capped again according to class. In detail, this is the table in 3.1.2: Code: ```/* * This table is used to help calculate the number of blows the player can * make in a single round of attacks (one player turn) with a normal weapon. * * This number ranges from a single blow/round for weak players to up to six * blows/round for powerful warriors. * * Note that certain artifacts and ego-items give "bonus" blows/round. * * First, from the player class, we extract some values: * * Warrior --> num = 6; mul = 5; div = MAX(30, weapon_weight); * Mage --> num = 4; mul = 2; div = MAX(40, weapon_weight); * Priest --> num = 4; mul = 3; div = MAX(35, weapon_weight); * Rogue --> num = 5; mul = 4; div = MAX(30, weapon_weight); * Ranger --> num = 5; mul = 4; div = MAX(35, weapon_weight); * Paladin --> num = 5; mul = 5; div = MAX(30, weapon_weight); * (all specified in p_class.txt now) * * To get "P", we look up the relevant "adj_str_blow[]" (see above), * multiply it by "mul", and then divide it by "div", rounding down. * * To get "D", we look up the relevant "adj_dex_blow[]" (see above), * note especially column 6 (DEX 18/101) and 11 (DEX 18/150). * * The player gets "blows_table[P][D]" blows/round, as shown below, * up to a maximum of "num" blows/round, plus any "bonus" blows/round. */ const byte blows_table[12][12] = { /* P/D */ /* 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11+ */ /* 0 */ { 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3 }, /* 1 */ { 1, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4 }, /* 2 */ { 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5 }, /* 3 */ { 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 5 }, /* 4 */ { 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 5, 5 }, /* 5 */ { 2, 2, 3, 3, 4, 4, 5, 5, 5, 5, 5, 6 }, /* 6 */ { 2, 2, 3, 3, 4, 4, 5, 5, 5, 5, 5, 6 }, /* 7 */ { 2, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 6 }, /* 8 */ { 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6 }, /* 9 */ { 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6 }, /* 10 */ { 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6 }, /* 11+ */ { 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6 }, };``` and this is the current table (essentially unchanged from 3.2.0) Code: ```/** * This table is used to help calculate the number of blows the player can * make in a single round of attacks (one player turn) with a normal weapon. * * This number ranges from a single blow/round for weak players to up to six * blows/round for powerful warriors. * * Note that certain artifacts and ego-items give "bonus" blows/round. * * First, from the player class, we extract some values: * * Warrior --> num = 6; mul = 5; div = MAX(30, weapon_weight); * Mage --> num = 4; mul = 2; div = MAX(40, weapon_weight); * Priest --> num = 4; mul = 3; div = MAX(35, weapon_weight); * Rogue --> num = 5; mul = 4; div = MAX(30, weapon_weight); * Ranger --> num = 5; mul = 4; div = MAX(35, weapon_weight); * Paladin --> num = 5; mul = 5; div = MAX(30, weapon_weight); * (all specified in class.txt now) * * To get "P", we look up the relevant "adj_str_blow[]" (see above), * multiply it by "mul", and then divide it by "div", rounding down. * * To get "D", we look up the relevant "adj_dex_blow[]" (see above). * * Then we look up the energy cost of each blow using "blows_table[P][D]". * The player gets blows/round equal to 100/this number, up to a maximum of * "num" blows/round, plus any "bonus" blows/round. */ static const int blows_table[12][12] = { /* P */ /* D: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11+ */ /* DEX: 3, 10, 17, /20, /40, /60, /80, /100,/120,/150,/180,/200 */ /* 0 */ { 100, 100, 95, 85, 75, 60, 50, 42, 35, 30, 25, 23 }, /* 1 */ { 100, 95, 85, 75, 60, 50, 42, 35, 30, 25, 23, 21 }, /* 2 */ { 95, 85, 75, 60, 50, 42, 35, 30, 26, 23, 21, 20 }, /* 3 */ { 85, 75, 60, 50, 42, 36, 32, 28, 25, 22, 20, 19 }, /* 4 */ { 75, 60, 50, 42, 36, 33, 28, 25, 23, 21, 19, 18 }, /* 5 */ { 60, 50, 42, 36, 33, 30, 27, 24, 22, 21, 19, 17 }, /* 6 */ { 50, 42, 36, 33, 30, 27, 25, 23, 21, 20, 18, 17 }, /* 7 */ { 42, 36, 33, 30, 28, 26, 24, 22, 20, 19, 18, 17 }, /* 8 */ { 36, 33, 30, 28, 26, 24, 22, 21, 20, 19, 17, 16 }, /* 9 */ { 35, 32, 29, 26, 24, 22, 21, 20, 19, 18, 17, 16 }, /* 10 */ { 34, 30, 27, 25, 23, 22, 21, 20, 19, 18, 17, 16 }, /* 11+ */ { 33, 29, 26, 24, 22, 21, 20, 19, 18, 17, 16, 15 }, /* DEX: 3, 10, 17, /20, /40, /60, /80, /100,/120,/150,/180,/200 */ };``` Note that from 3.2.0 on it was harder for warriors to get 6 blows, but fractional blows were now possible and there were more entries which resulted in more than 5 blows. I can find no evidence that warriors ever got an extra blow, or that it was taken away. In the absence of specific evidence, I'm going to assume that the change in the blows tables above tell the whole story. __________________ One for the Dark Lord on his dark throne In the Land of Mordor where the Shadows lie.
 September 3, 2018, 15:21 #12 Pete Mack Prophet   Join Date: Apr 2007 Location: Seattle, WA Posts: 5,030 Donated: \$40 Got it. I guess the difference is that the DEX table topped out at 18/150, so getting max blows was so much easier.
 September 3, 2018, 19:43 #13 Derakon Prophet     Join Date: Dec 2009 Posts: 8,577 I always took it as hyperbole when Pete said warriors lost their extra blow. They've been able to achieve 6 blows always. It's possible that changes to the table made it harder/impossible to get max blows with the heaviest weapons, but that's not the same thing as warriors losing their extra blow.
September 5, 2018, 02:56   #14
luneya

Join Date: Aug 2015
Posts: 237
Quote:
 Originally Posted by Derakon I always took it as hyperbole when Pete said warriors lost their extra blow. They've been able to achieve 6 blows always. It's possible that changes to the table made it harder/impossible to get max blows with the heaviest weapons, but that's not the same thing as warriors losing their extra blow.
Which is not to say that explicitly giving warriors +1 blows to all weapons after a certain CL wouldn't be an appropriate balance change, but it's still a new innovation, not a restoration of how it was in old versions.

 Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 Thread Tools Display Modes Linear Mode

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is Off Forum Rules
 Forum Jump User Control Panel Private Messages Subscriptions Who's Online Search Forums Forums Home Angband     AAR     Vanilla     Development     ToME     Sil     Variants     Competition The real world     Idle chatter     Oook! Obsolete     v4

 Similar Threads Thread Thread Starter Forum Replies Last Post Mordling Variants 9 March 28, 2017 22:47 t4nk Vanilla 11 October 14, 2016 07:53 LostTemplar Variants 0 December 28, 2013 01:54 LostTemplar Development 0 May 16, 2013 22:05 PowerDiver Idle chatter 2 March 2, 2011 06:46

All times are GMT +1. The time now is 00:03.