extern bool tgt_pt(POSITION *x, POSITION *y);
extern void do_poly_wounds(void);
extern void change_race(CHARACTER_IDX new_race, concptr effect_msg);
-extern ENERGY bow_energy(OBJECT_SUBTYPE_VALUE sval);
-extern int bow_tmul(OBJECT_SUBTYPE_VALUE sval);
/* scores.c */
extern void display_scores_aux(int from, int to, int note, high_score *score);
extern bool ang_sort_comp_hook(vptr u, vptr v, int a, int b);
extern void ang_sort_swap_hook(vptr u, vptr v, int a, int b);
+
+/* shoot.c */
+extern ENERGY bow_energy(OBJECT_SUBTYPE_VALUE sval);
+extern int bow_tmul(OBJECT_SUBTYPE_VALUE sval);
}
+
+
+/*!
+ * @brief 射撃武器の攻撃に必要な基本消費エネルギーを返す/Return bow energy
+ * @param sval 射撃武器のアイテム副分類ID
+ * @return 消費する基本エネルギー
+ */
+ENERGY bow_energy(OBJECT_SUBTYPE_VALUE sval)
+{
+ ENERGY energy = 10000;
+
+ /* Analyze the launcher */
+ switch (sval)
+ {
+ /* Sling and ammo */
+ case SV_SLING:
+ {
+ energy = 8000;
+ break;
+ }
+
+ /* Short Bow and Arrow */
+ case SV_SHORT_BOW:
+ {
+ energy = 10000;
+ break;
+ }
+
+ /* Long Bow and Arrow */
+ case SV_LONG_BOW:
+ {
+ energy = 10000;
+ break;
+ }
+
+ /* Bow of irresponsiblity and Arrow */
+ case SV_NAMAKE_BOW:
+ {
+ energy = 7777;
+ break;
+ }
+
+ /* Light Crossbow and Bolt */
+ case SV_LIGHT_XBOW:
+ {
+ energy = 12000;
+ break;
+ }
+
+ /* Heavy Crossbow and Bolt */
+ case SV_HEAVY_XBOW:
+ {
+ energy = 13333;
+ break;
+ }
+ }
+
+ return (energy);
+}
+
+
+/*
+ * Return bow tmul
+ */
+int bow_tmul(OBJECT_SUBTYPE_VALUE sval)
+{
+ int tmul = 0;
+
+ /* Analyze the launcher */
+ switch (sval)
+ {
+ /* Sling and ammo */
+ case SV_SLING:
+ {
+ tmul = 2;
+ break;
+ }
+
+ /* Short Bow and Arrow */
+ case SV_SHORT_BOW:
+ {
+ tmul = 2;
+ break;
+ }
+
+ /* Long Bow and Arrow */
+ case SV_LONG_BOW:
+ {
+ tmul = 3;
+ break;
+ }
+
+ /* Bow of irresponsiblity and Arrow */
+ case SV_NAMAKE_BOW:
+ {
+ tmul = 3;
+ break;
+ }
+
+ /* Light Crossbow and Bolt */
+ case SV_LIGHT_XBOW:
+ {
+ tmul = 3;
+ break;
+ }
+
+ /* Heavy Crossbow and Bolt */
+ case SV_HEAVY_XBOW:
+ {
+ tmul = 4;
+ break;
+ }
+ }
+
+ return (tmul);
+}
+
+
/* A "valid" direction was entered */
return (TRUE);
}
-
-
-/*!
- * @brief 射撃武器の攻撃に必要な基本消費エネルギーを返す/Return bow energy
- * @param sval 射撃武器のアイテム副分類ID
- * @return 消費する基本エネルギー
- */
-ENERGY bow_energy(OBJECT_SUBTYPE_VALUE sval)
-{
- ENERGY energy = 10000;
-
- /* Analyze the launcher */
- switch (sval)
- {
- /* Sling and ammo */
- case SV_SLING:
- {
- energy = 8000;
- break;
- }
-
- /* Short Bow and Arrow */
- case SV_SHORT_BOW:
- {
- energy = 10000;
- break;
- }
-
- /* Long Bow and Arrow */
- case SV_LONG_BOW:
- {
- energy = 10000;
- break;
- }
-
- /* Bow of irresponsiblity and Arrow */
- case SV_NAMAKE_BOW:
- {
- energy = 7777;
- break;
- }
-
- /* Light Crossbow and Bolt */
- case SV_LIGHT_XBOW:
- {
- energy = 12000;
- break;
- }
-
- /* Heavy Crossbow and Bolt */
- case SV_HEAVY_XBOW:
- {
- energy = 13333;
- break;
- }
- }
-
- return (energy);
-}
-
-
-/*
- * Return bow tmul
- */
-int bow_tmul(OBJECT_SUBTYPE_VALUE sval)
-{
- int tmul = 0;
-
- /* Analyze the launcher */
- switch (sval)
- {
- /* Sling and ammo */
- case SV_SLING:
- {
- tmul = 2;
- break;
- }
-
- /* Short Bow and Arrow */
- case SV_SHORT_BOW:
- {
- tmul = 2;
- break;
- }
-
- /* Long Bow and Arrow */
- case SV_LONG_BOW:
- {
- tmul = 3;
- break;
- }
-
- /* Bow of irresponsiblity and Arrow */
- case SV_NAMAKE_BOW:
- {
- tmul = 3;
- break;
- }
-
- /* Light Crossbow and Bolt */
- case SV_LIGHT_XBOW:
- {
- tmul = 3;
- break;
- }
-
- /* Heavy Crossbow and Bolt */
- case SV_HEAVY_XBOW:
- {
- tmul = 4;
- break;
- }
- }
-
- return (tmul);
-}
-
-