Hengband  2.1.4
マクロ定義 | 関数 | 変数
melee2.c ファイル

モンスターの特殊技能と移動処理/ Monster spells and movement [詳解]

#include "angband.h"
melee2.c の依存先関係図:

マクロ定義

#define SPEAK_CHANCE   8
 
#define GRINDNOISE   20
 
#define CYBERNOISE   20
 
#define BLOW_EFFECT_TYPE_NONE   0
 
#define BLOW_EFFECT_TYPE_FEAR   1
 
#define BLOW_EFFECT_TYPE_SLEEP   2
 
#define BLOW_EFFECT_TYPE_HEAL   3
 

関数

static bool get_enemy_dir (int m_idx, int *mm)
 モンスターが敵に接近するための方向を決める / Calculate the direction to the next enemy [詳解]
 
void mon_take_hit_mon (int m_idx, int dam, bool *fear, cptr note, int who)
 モンスターが敵モンスターに行う打撃処理 / Hack, based on mon_take_hit... [詳解]
 
static int mon_will_run (int m_idx)
 モンスターがプレイヤーから逃走するかどうかを返す / Returns whether a given monster will try to run from the player. [詳解]
 
static bool get_moves_aux2 (int m_idx, int *yp, int *xp)
 モンスターがプレイヤーに向けて遠距離攻撃を行うことが可能なマスを走査する / Search spell castable grid [詳解]
 
static bool get_moves_aux (int m_idx, int *yp, int *xp, bool no_flow)
 モンスターがプレイヤーに向けて接近することが可能なマスを走査する / Choose the "best" direction for "flowing" [詳解]
 
static bool get_fear_moves_aux (int m_idx, int *yp, int *xp)
 モンスターがプレイヤーから逃走することが可能なマスを走査する / Provide a location to flee to, but give the player a wide berth. [詳解]
 
static bool find_safety (int m_idx, int *yp, int *xp)
 モンスターが逃げ込める安全な地点を返す / Choose a "safe" location near a monster for it to run toward. [詳解]
 
static bool find_hiding (int m_idx, int *yp, int *xp)
 モンスターが隠れ潜める地点を返す / Choose a good hiding place near a monster for it to run toward. [詳解]
 
static bool get_moves (int m_idx, int *mm)
 モンスターの移動方向を返す / Choose "logical" directions for monster movement [詳解]
 
static int check_hit2 (int power, int level, int ac, int stun)
 モンスターから敵モンスターへの命中判定 [詳解]
 
static bool monst_attack_monst (int m_idx, int t_idx)
 モンスターから敵モンスターへの打撃攻撃処理 [詳解]
 
static bool check_hp_for_feat_destruction (feature_type *f_ptr, monster_type *m_ptr)
 
static void process_monster (int m_idx)
 モンスター単体の1ターン行動処理メインルーチン / Process a monster [詳解]
 
void process_monsters (void)
 全モンスターのターン管理メインルーチン / Process all the "live" monsters, once per game turn. [詳解]
 
int get_mproc_idx (int m_idx, int mproc_type)
 モンスターの時限ステータスを取得する [詳解]
 
static void mproc_add (int m_idx, int mproc_type)
 モンスターの時限ステータスリストを追加する [詳解]
 
static void mproc_remove (int m_idx, int mproc_type)
 モンスターの時限ステータスリストを削除 [詳解]
 
void mproc_init (void)
 モンスターの時限ステータスリストを初期化する / Initialize monster process [詳解]
 
bool set_monster_csleep (int m_idx, int v)
 モンスターの睡眠状態値をセットする / Set "m_ptr->mtimed[MTIMED_CSLEEP]", notice observable changes [詳解]
 
bool set_monster_fast (int m_idx, int v)
 モンスターの加速状態値をセット / Set "m_ptr->mtimed[MTIMED_FAST]", notice observable changes [詳解]
 
bool set_monster_slow (int m_idx, int v)
 
bool set_monster_stunned (int m_idx, int v)
 モンスターの朦朧状態値をセット / Set "m_ptr->mtimed[MTIMED_STUNNED]", notice observable changes [詳解]
 
bool set_monster_confused (int m_idx, int v)
 モンスターの混乱状態値をセット / Set "m_ptr->mtimed[MTIMED_CONFUSED]", notice observable changes [詳解]
 
bool set_monster_monfear (int m_idx, int v)
 モンスターの恐慌状態値をセット / Set "m_ptr->mtimed[MTIMED_MONFEAR]", notice observable changes [詳解]
 
bool set_monster_invulner (int m_idx, int v, bool energy_need)
 モンスターの無敵状態値をセット / Set "m_ptr->mtimed[MTIMED_INVULNER]", notice observable changes [詳解]
 
static void process_monsters_mtimed_aux (int m_idx, int mtimed_idx)
 モンスターの各種状態値を時間経過により更新するサブルーチン [詳解]
 
void process_monsters_mtimed (int mtimed_idx)
 全モンスターの各種状態値を時間経過により更新するメインルーチン [詳解]
 
void dispel_monster_status (int m_idx)
 モンスターへの魔力消去処理 [詳解]
 
bool process_the_world (int num, int who, bool vs_player)
 モンスターの時間停止処理 [詳解]
 
void monster_gain_exp (int m_idx, int s_idx)
 モンスターの経験値取得処理 [詳解]
 

変数

static sint d_off_y_0 []
 
static sint d_off_x_0 []
 
static sint d_off_y_1 []
 
static sint d_off_x_1 []
 
static sint d_off_y_2 []
 
static sint d_off_x_2 []
 
static sint d_off_y_3 []
 
static sint d_off_x_3 []
 
static sint d_off_y_4 []
 
static sint d_off_x_4 []
 
static sint d_off_y_5 []
 
static sint d_off_x_5 []
 
static sint d_off_y_6 []
 
static sint d_off_x_6 []
 
static sint d_off_y_7 []
 
static sint d_off_x_7 []
 
static sint d_off_y_8 []
 
static sint d_off_x_8 []
 
static sint d_off_y_9 []
 
static sint d_off_x_9 []
 
static sintdist_offsets_y [10]
 
static sintdist_offsets_x [10]
 
static u32b csleep_noise
 

詳解

モンスターの特殊技能と移動処理/ Monster spells and movement

日付
2014/01/17
著者
Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke
This software may be copied and distributed for educational, research,
and not for profit purposes provided that this copyright and statement
are included in all such copies. Other copyrights may also apply.
2014 Deskull rearranged comment for Doxygen.

This file has several additions to it by Keldon Jones (keldo.nosp@m.n@um.nosp@m.r.edu) to improve the general quality of the AI (version 0.1.1).

マクロ定義詳解

◆ BLOW_EFFECT_TYPE_FEAR

#define BLOW_EFFECT_TYPE_FEAR   1

◆ BLOW_EFFECT_TYPE_HEAL

#define BLOW_EFFECT_TYPE_HEAL   3

◆ BLOW_EFFECT_TYPE_NONE

#define BLOW_EFFECT_TYPE_NONE   0

◆ BLOW_EFFECT_TYPE_SLEEP

#define BLOW_EFFECT_TYPE_SLEEP   2

◆ CYBERNOISE

#define CYBERNOISE   20

◆ GRINDNOISE

#define GRINDNOISE   20

◆ SPEAK_CHANCE

#define SPEAK_CHANCE   8

関数詳解

◆ check_hit2()

static int check_hit2 ( int  power,
int  level,
int  ac,
int  stun 
)
static

モンスターから敵モンスターへの命中判定

引数
power打撃属性による基本命中値
level攻撃側モンスターのレベル
ac目標モンスターのAC
stun攻撃側モンスターが朦朧状態ならTRUEを返す
戻り値
命中ならばTRUEを返す
被呼び出し関係図:

◆ check_hp_for_feat_destruction()

static bool check_hp_for_feat_destruction ( feature_type f_ptr,
monster_type m_ptr 
)
static
被呼び出し関係図:

◆ dispel_monster_status()

void dispel_monster_status ( int  m_idx)

モンスターへの魔力消去処理

引数
m_idx魔力消去を受けるモンスターの参照ID
戻り値
なし
呼び出し関係図:

◆ find_hiding()

static bool find_hiding ( int  m_idx,
int *  yp,
int *  xp 
)
static

モンスターが隠れ潜める地点を返す / Choose a good hiding place near a monster for it to run toward.

引数
m_idxモンスターの参照ID
yp移動先のマスのY座標を返す参照ポインタ
xp移動先のマスのX座標を返す参照ポインタ
戻り値
有効なマスがあった場合TRUEを返す

Pack monsters will use this to "ambush" the player and lure him out
of corridors into open space so they can swarm him.

Return TRUE if a good location is available.

呼び出し関係図:
被呼び出し関係図:

◆ find_safety()

static bool find_safety ( int  m_idx,
int *  yp,
int *  xp 
)
static

モンスターが逃げ込める安全な地点を返す / Choose a "safe" location near a monster for it to run toward.

引数
m_idxモンスターの参照ID
yp移動先のマスのY座標を返す参照ポインタ
xp移動先のマスのX座標を返す参照ポインタ
戻り値
有効なマスがあった場合TRUEを返す

A location is "safe" if it can be reached quickly and the player
is not able to fire into it (it isn't a "clean shot"). So, this will
cause monsters to "duck" behind walls. Hopefully, monsters will also
try to run towards corridor openings if they are in a room.

This function may take lots of CPU time if lots of monsters are
fleeing.

Return TRUE if a safe location is available.

呼び出し関係図:
被呼び出し関係図:

◆ get_enemy_dir()

static bool get_enemy_dir ( int  m_idx,
int *  mm 
)
static

モンスターが敵に接近するための方向を決める / Calculate the direction to the next enemy

引数
m_idxモンスターの参照ID
mm移動するべき方角IDを返す参照ポインタ
戻り値
方向が確定した場合TRUE、接近する敵がそもそもいない場合FALSEを返す
呼び出し関係図:
被呼び出し関係図:

◆ get_fear_moves_aux()

static bool get_fear_moves_aux ( int  m_idx,
int *  yp,
int *  xp 
)
static

モンスターがプレイヤーから逃走することが可能なマスを走査する / Provide a location to flee to, but give the player a wide berth.

引数
m_idxモンスターの参照ID
yp移動先のマスのY座標を返す参照ポインタ
xp移動先のマスのX座標を返す参照ポインタ
戻り値
有効なマスがあった場合TRUEを返す

A monster may wish to flee to a location that is behind the player,
but instead of heading directly for it, the monster should "swerve"
around the player so that he has a smaller chance of getting hit.

呼び出し関係図:
被呼び出し関係図:

◆ get_moves()

static bool get_moves ( int  m_idx,
int *  mm 
)
static

モンスターの移動方向を返す / Choose "logical" directions for monster movement

引数
m_idxモンスターの参照ID
mm移動方向を返す方向IDの参照ポインタ
戻り値
有効方向があった場合TRUEを返す
呼び出し関係図:
被呼び出し関係図:

◆ get_moves_aux()

static bool get_moves_aux ( int  m_idx,
int *  yp,
int *  xp,
bool  no_flow 
)
static

モンスターがプレイヤーに向けて接近することが可能なマスを走査する / Choose the "best" direction for "flowing"

引数
m_idxモンスターの参照ID
yp移動先のマスのY座標を返す参照ポインタ
xp移動先のマスのX座標を返す参照ポインタ
no_flowモンスターにFLOWフラグが経っていない状態でTRUE
戻り値
有効なマスがあった場合TRUEを返す

Note that ghosts and rock-eaters are never allowed to "flow",
since they should move directly towards the player.

Prefer "non-diagonal" directions, but twiddle them a little
to angle slightly towards the player's actual location.

Allow very perceptive monsters to track old "spoor" left by
previous locations occupied by the player. This will tend
to have monsters end up either near the player or on a grid
recently occupied by the player (and left via "teleport").

Note that if "smell" is turned on, all monsters get vicious.

Also note that teleporting away from a location will cause
the monsters who were chasing you to converge on that location
as long as you are still near enough to "annoy" them without
being close enough to chase directly. I have no idea what will
happen if you combine "smell" with low "aaf" values.

呼び出し関係図:
被呼び出し関係図:

◆ get_moves_aux2()

static bool get_moves_aux2 ( int  m_idx,
int *  yp,
int *  xp 
)
static

モンスターがプレイヤーに向けて遠距離攻撃を行うことが可能なマスを走査する / Search spell castable grid

引数
m_idxモンスターの参照ID
yp適したマスのY座標を返す参照ポインタ
xp適したマスのX座標を返す参照ポインタ
戻り値
有効なマスがあった場合TRUEを返す
呼び出し関係図:
被呼び出し関係図:

◆ get_mproc_idx()

int get_mproc_idx ( int  m_idx,
int  mproc_type 
)

モンスターの時限ステータスを取得する

戻り値
m_idx モンスターの参照ID
mproc_type モンスターの時限ステータスID
残りターン値

◆ mon_take_hit_mon()

void mon_take_hit_mon ( int  m_idx,
int  dam,
bool fear,
cptr  note,
int  who 
)

モンスターが敵モンスターに行う打撃処理 / Hack, based on mon_take_hit...

perhaps all monster attacks on other monsters should use this?

引数
m_idx目標となるモンスターの参照ID
damダメージ量
fear目標となるモンスターの恐慌状態を返す参照ポインタ
note目標モンスターが死亡した場合の特別メッセージ(NULLならば標準表示を行う)
who打撃を行ったモンスターの参照ID
戻り値
なし
呼び出し関係図:

◆ mon_will_run()

static int mon_will_run ( int  m_idx)
static

モンスターがプレイヤーから逃走するかどうかを返す / Returns whether a given monster will try to run from the player.

引数
m_idx逃走するモンスターの参照ID
戻り値
モンスターがプレイヤーから逃走するならばTRUEを返す。

Monsters will attempt to avoid very powerful players. See below.

Because this function is called so often, little details are important
for efficiency. Like not using "mod" or "div" when possible. And
attempting to check the conditions in an optimal order. Note that
"(x << 2) == (x * 4)" if "x" has enough bits to hold the result.

Note that this function is responsible for about one to five percent
of the processor use in normal conditions...

被呼び出し関係図:

◆ monst_attack_monst()

static bool monst_attack_monst ( int  m_idx,
int  t_idx 
)
static

モンスターから敵モンスターへの打撃攻撃処理

引数
m_idx攻撃側モンスターの参照ID
t_idx目標側モンスターの参照ID
戻り値
実際に打撃処理が行われた場合TRUEを返す
呼び出し関係図:
被呼び出し関係図:

◆ monster_gain_exp()

void monster_gain_exp ( int  m_idx,
int  s_idx 
)

モンスターの経験値取得処理

引数
m_idx経験値を得るモンスターの参照ID
s_idx撃破されたモンスター種族の参照ID
戻り値
なし
呼び出し関係図:

◆ mproc_add()

static void mproc_add ( int  m_idx,
int  mproc_type 
)
static

モンスターの時限ステータスリストを追加する

戻り値
m_idx モンスターの参照ID
mproc_type 追加したいモンスターの時限ステータスID
なし
被呼び出し関係図:

◆ mproc_init()

void mproc_init ( void  )

モンスターの時限ステータスリストを初期化する / Initialize monster process

戻り値
なし
呼び出し関係図:

◆ mproc_remove()

static void mproc_remove ( int  m_idx,
int  mproc_type 
)
static

モンスターの時限ステータスリストを削除

戻り値
m_idx モンスターの参照ID
mproc_type 削除したいモンスターの時限ステータスID
なし
呼び出し関係図:
被呼び出し関係図:

◆ process_monster()

static void process_monster ( int  m_idx)
static

モンスター単体の1ターン行動処理メインルーチン / Process a monster

引数
m_idx行動モンスターの参照ID
戻り値
なし

The monster is known to be within 100 grids of the player

In several cases, we directly update the monster lore

Note that a monster is only allowed to "reproduce" if there
are a limited number of "reproducing" monsters on the current
level. This should prevent the level from being "swamped" by
reproducing monsters. It also allows a large mass of mice to
prevent a louse from multiplying, but this is a small price to
pay for a simple multiplication method.

XXX Monster fear is slightly odd, in particular, monsters will
fixate on opening a door even if they cannot open it. Actually,
the same thing happens to normal monsters when they hit a door

XXX XXX XXX In addition, monsters which cannot open or bash
down a door will still stand there trying to open it...

XXX Technically, need to check for monster in the way
combined with that monster being in a wall (or door?)

A "direction" of "5" means "pick a random direction".

呼び出し関係図:
被呼び出し関係図:

◆ process_monsters()

void process_monsters ( void  )

全モンスターのターン管理メインルーチン / Process all the "live" monsters, once per game turn.

戻り値
なし

During each game turn, we scan through the list of all the "live" monsters,
(backwards, so we can excise any "freshly dead" monsters), energizing each
monster, and allowing fully energized monsters to move, attack, pass, etc.

Note that monsters can never move in the monster array (except when the
"compact_monsters()" function is called by "dungeon()" or "save_player()").

This function is responsible for at least half of the processor time
on a normal system with a "normal" amount of monsters and a player doing
normal things.

When the player is resting, virtually 90% of the processor time is spent
in this function, and its children, "process_monster()" and "make_move()".

Most of the rest of the time is spent in "update_view()" and "lite_spot()",
especially when the player is running.

Note the special "MFLAG_BORN" flag, which allows us to ignore "fresh"
monsters while they are still being "born". A monster is "fresh" only
during the turn in which it is created, and we use the "hack_m_idx" to
determine if the monster is yet to be processed during the current turn.

Note the special "MFLAG_NICE" flag, which allows the player to get one
move before any "nasty" monsters get to use their spell attacks.

Note that when the "knowledge" about the currently tracked monster
changes (flags, attacks, spells), we induce a redraw of the monster
recall window.

呼び出し関係図:

◆ process_monsters_mtimed()

void process_monsters_mtimed ( int  mtimed_idx)

全モンスターの各種状態値を時間経過により更新するメインルーチン

引数
mtimed_idx更新するモンスターの時限ステータスID
戻り値
なし

Process the counters of monsters (once per 10 game turns)
These functions are to process monsters' counters same as player's.

呼び出し関係図:

◆ process_monsters_mtimed_aux()

static void process_monsters_mtimed_aux ( int  m_idx,
int  mtimed_idx 
)
static

モンスターの各種状態値を時間経過により更新するサブルーチン

引数
m_idxモンスター参照ID
mtimed_idx更新するモンスターの時限ステータスID
戻り値
なし
呼び出し関係図:
被呼び出し関係図:

◆ process_the_world()

bool process_the_world ( int  num,
int  who,
bool  vs_player 
)

モンスターの時間停止処理

引数
num時間停止を行った敵が行動できる回数
who時間停止処理の主体ID
vs_playerTRUEならば時間停止開始処理を行う
戻り値
時間停止が行われている状態ならばTRUEを返す
呼び出し関係図:

◆ set_monster_confused()

bool set_monster_confused ( int  m_idx,
int  v 
)

モンスターの混乱状態値をセット / Set "m_ptr->mtimed[MTIMED_CONFUSED]", notice observable changes

引数
m_idxモンスター参照ID
vセットする値
戻り値
別途更新処理が必要な場合TRUEを返す
呼び出し関係図:

◆ set_monster_csleep()

bool set_monster_csleep ( int  m_idx,
int  v 
)

モンスターの睡眠状態値をセットする / Set "m_ptr->mtimed[MTIMED_CSLEEP]", notice observable changes

引数
m_idxモンスター参照ID
vセットする値
戻り値
別途更新処理が必要な場合TRUEを返す
呼び出し関係図:

◆ set_monster_fast()

bool set_monster_fast ( int  m_idx,
int  v 
)

モンスターの加速状態値をセット / Set "m_ptr->mtimed[MTIMED_FAST]", notice observable changes

引数
m_idxモンスター参照ID
vセットする値
戻り値
別途更新処理が必要な場合TRUEを返す
呼び出し関係図:

◆ set_monster_invulner()

bool set_monster_invulner ( int  m_idx,
int  v,
bool  energy_need 
)

モンスターの無敵状態値をセット / Set "m_ptr->mtimed[MTIMED_INVULNER]", notice observable changes

引数
m_idxモンスター参照ID
vセットする値
energy_needTRUEならば無敵解除時に行動ターン消費を行う
戻り値
別途更新処理が必要な場合TRUEを返す
呼び出し関係図:

◆ set_monster_monfear()

bool set_monster_monfear ( int  m_idx,
int  v 
)

モンスターの恐慌状態値をセット / Set "m_ptr->mtimed[MTIMED_MONFEAR]", notice observable changes

引数
m_idxモンスター参照ID
vセットする値
戻り値
別途更新処理が必要な場合TRUEを返す
呼び出し関係図:

◆ set_monster_slow()

bool set_monster_slow ( int  m_idx,
int  v 
)
呼び出し関係図:

◆ set_monster_stunned()

bool set_monster_stunned ( int  m_idx,
int  v 
)

モンスターの朦朧状態値をセット / Set "m_ptr->mtimed[MTIMED_STUNNED]", notice observable changes

引数
m_idxモンスター参照ID
vセットする値
戻り値
別途更新処理が必要な場合TRUEを返す
呼び出し関係図:

変数詳解

◆ csleep_noise

u32b csleep_noise
static

◆ d_off_x_0

sint d_off_x_0[]
static
初期値:
=
{ 0 }

◆ d_off_x_1

sint d_off_x_1[]
static
初期値:
=
{ -1, 0, 1, -1, 1, -1, 0, 1, 0 }

◆ d_off_x_2

sint d_off_x_2[]
static
初期値:
=
{ -2, 2, -1, 0, 1, -2, 2, -2, 2, -1, 0, 1, 0 }

◆ d_off_x_3

sint d_off_x_3[]
static
初期値:
=
{ -3, 3, -2, 2, -1, 0, 1, -3, 3, -3, 3, -2, 2,
-1, 0, 1, 0 }

◆ d_off_x_4

sint d_off_x_4[]
static
初期値:
=
{ -4, 4, -3, 3, -2, -3, 2, 3, -1, 0, 1, -4, 4,
-4, 4, -3, 3, -2, -3, 2, 3, -1, 0, 1, 0 }

◆ d_off_x_5

sint d_off_x_5[]
static
初期値:
=
{ -5, 5, -4, 4, -4, 4, -2, -3, 2, 3, -1, 0, 1,
-5, 5, -5, 5, -4, 4, -4, 4, -2, -3, 2, 3, -1,
0, 1, 0 }

◆ d_off_x_6

sint d_off_x_6[]
static
初期値:
=
{ -6, 6, -5, 5, -5, 5, -4, 4, -2, -3, 2, 3, -1,
0, 1, -6, 6, -6, 6, -5, 5, -5, 5, -4, 4, -2,
-3, 2, 3, -1, 0, 1, 0 }

◆ d_off_x_7

sint d_off_x_7[]
static
初期値:
=
{ -7, 7, -6, 6, -6, 6, -5, 5, -4, -5, 4, 5, -2,
-3, 2, 3, -1, 0, 1, -7, 7, -7, 7, -6, 6, -6,
6, -5, 5, -4, -5, 4, 5, -2, -3, 2, 3, -1, 0,
1, 0 }

◆ d_off_x_8

sint d_off_x_8[]
static
初期値:
=
{ -8, 8, -7, 7, -7, 7, -6, 6, -6, 6, -4, -5, 4,
5, -2, -3, 2, 3, -1, 0, 1, -8, 8, -8, 8, -7,
7, -7, 7, -6, 6, -6, 6, -4, -5, 4, 5, -2, -3,
2, 3, -1, 0, 1, 0 }

◆ d_off_x_9

sint d_off_x_9[]
static
初期値:
=
{ -9, 9, -8, 8, -8, 8, -7, 7, -7, 7, -6, 6, -4,
-5, 4, 5, -2, -3, 2, 3, -1, 0, 1, -9, 9, -9,
9, -8, 8, -8, 8, -7, 7, -7, 7, -6, 6, -4, -5,
4, 5, -2, -3, 2, 3, -1, 0, 1, 0 }

◆ d_off_y_0

sint d_off_y_0[]
static
初期値:
=
{ 0 }

◆ d_off_y_1

sint d_off_y_1[]
static
初期値:
=
{ -1, -1, -1, 0, 0, 1, 1, 1, 0 }

◆ d_off_y_2

sint d_off_y_2[]
static
初期値:
=
{ -1, -1, -2, -2, -2, 0, 0, 1, 1, 2, 2, 2, 0 }

◆ d_off_y_3

sint d_off_y_3[]
static
初期値:
=
{ -1, -1, -2, -2, -3, -3, -3, 0, 0, 1, 1, 2, 2,
3, 3, 3, 0 }

◆ d_off_y_4

sint d_off_y_4[]
static
初期値:
=
{ -1, -1, -2, -2, -3, -3, -3, -3, -4, -4, -4, 0,
0, 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 0 }

◆ d_off_y_5

sint d_off_y_5[]
static
初期値:
=
{ -1, -1, -2, -2, -3, -3, -4, -4, -4, -4, -5, -5,
-5, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5,
5, 0 }

◆ d_off_y_6

sint d_off_y_6[]
static
初期値:
=
{ -1, -1, -2, -2, -3, -3, -4, -4, -5, -5, -5, -5,
-6, -6, -6, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5,
5, 5, 6, 6, 6, 0 }

◆ d_off_y_7

sint d_off_y_7[]
static
初期値:
=
{ -1, -1, -2, -2, -3, -3, -4, -4, -5, -5, -5, -5,
-6, -6, -6, -6, -7, -7, -7, 0, 0, 1, 1, 2, 2, 3,
3, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 0 }

◆ d_off_y_8

sint d_off_y_8[]
static
初期値:
=
{ -1, -1, -2, -2, -3, -3, -4, -4, -5, -5, -6, -6,
-6, -6, -7, -7, -7, -7, -8, -8, -8, 0, 0, 1, 1,
2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7,
8, 8, 8, 0 }

◆ d_off_y_9

sint d_off_y_9[]
static
初期値:
=
{ -1, -1, -2, -2, -3, -3, -4, -4, -5, -5, -6, -6,
-7, -7, -7, -7, -8, -8, -8, -8, -9, -9, -9, 0,
0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7,
7, 8, 8, 8, 8, 9, 9, 9, 0 }

◆ dist_offsets_x

sint* dist_offsets_x[10]
static
初期値:
=
{
}
static sint d_off_x_6[]
Definition: melee2.c:835
static sint d_off_x_3[]
Definition: melee2.c:805
static sint d_off_x_8[]
Definition: melee2.c:859
static sint d_off_x_9[]
Definition: melee2.c:872
static sint d_off_x_7[]
Definition: melee2.c:846
static sint d_off_x_1[]
Definition: melee2.c:790
static sint d_off_x_5[]
Definition: melee2.c:824
static sint d_off_x_0[]
Definition: melee2.c:783
static sint d_off_x_2[]
Definition: melee2.c:797
static sint d_off_x_4[]
Definition: melee2.c:814

◆ dist_offsets_y

sint* dist_offsets_y[10]
static
初期値:
=
{
}
static sint d_off_y_0[]
Definition: melee2.c:780
static sint d_off_y_1[]
Definition: melee2.c:787
static sint d_off_y_4[]
Definition: melee2.c:810
static sint d_off_y_9[]
Definition: melee2.c:866
static sint d_off_y_7[]
Definition: melee2.c:841
static sint d_off_y_3[]
Definition: melee2.c:801
static sint d_off_y_5[]
Definition: melee2.c:819
static sint d_off_y_6[]
Definition: melee2.c:830
static sint d_off_y_2[]
Definition: melee2.c:794
static sint d_off_y_8[]
Definition: melee2.c:853