OSDN Git Service

64e7d6450d7262af579c7c672c694a51ce9b9fce
[hengband/hengband.git] / src / creature.c
1 #include "angband.h"
2 #include "creature.h"
3
4 /*!
5  * @brief 加速値による実質速度修正倍率テーブル /
6  * This table allows quick conversion from "speed" to "energy"
7  * @details
8  * <pre>
9  * The basic function WAS ((S>=110) ? (S-110) : (100 / (120-S)))
10  * Note that table access is *much* quicker than computation.
11  *
12  * Note that the table has been changed at high speeds.  From
13  * "Slow (-40)" to "Fast (+30)" is pretty much unchanged, but
14  * at speeds above "Fast (+30)", one approaches an asymptotic
15  * effective limit of 50 energy per current_world_ptr->game_turn.  This means that it
16  * is relatively easy to reach "Fast (+30)" and get about 40
17  * energy per current_world_ptr->game_turn, but then speed becomes very "expensive",
18  * and you must get all the way to "Fast (+50)" to reach the
19  * point of getting 45 energy per current_world_ptr->game_turn.  After that point,
20  * furthur increases in speed are more or less pointless,
21  * except to balance out heavy p_ptr->inventory_list.
22  *
23  * Note that currently the fastest monster is "Fast (+30)".
24  *
25  * It should be possible to lower the energy threshhold from
26  * 100 units to 50 units, though this may interact badly with
27  * the (compiled out) small random energy boost code.  It may
28  * also tend to cause more "clumping" at high speeds.
29  * </pre>
30  */
31 const byte extract_energy[200] =
32 {
33         /* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
34         /* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
35         /* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
36         /* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
37         /* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
38         /* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
39         /* S-50 */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
40         /* S-40 */     2,  2,  2,  2,  2,  2,  2,  2,  2,  2,
41         /* S-30 */     2,  2,  2,  2,  2,  2,  2,  3,  3,  3,
42         /* S-20 */     3,  3,  3,  3,  3,  4,  4,  4,  4,  4,
43         /* S-10 */     5,  5,  5,  5,  6,  6,  7,  7,  8,  9,
44         /* Norm */    10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
45         /* F+10 */    20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
46         /* F+20 */    30, 31, 32, 33, 34, 35, 36, 36, 37, 37,
47         /* F+30 */    38, 38, 39, 39, 40, 40, 40, 41, 41, 41,
48         /* F+40 */    42, 42, 42, 43, 43, 43, 44, 44, 44, 44,
49         /* F+50 */    45, 45, 45, 45, 45, 46, 46, 46, 46, 46,
50         /* F+60 */    47, 47, 47, 47, 47, 48, 48, 48, 48, 48,
51         /* F+70 */    49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
52         /* Fast */    49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
53 };