#include "angband.h"
#include "player-damage.h"
+#include "artifact.h"
/*!
#ifdef JP
if ((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON))
msg_print("やりやがったな!");
+ else if ((p_ptr->pseikaku == SEIKAKU_CHARGEMAN))
+ {
+ if (randint0(2) == 0) msg_print(_("ジュラル星人め!", ""));
+ else msg_print(_("弱い者いじめは止めるんだ!", ""));
+ }
#endif
/* Potions smash open */
/*!
* @brief 酸攻撃による装備のAC劣化処理 /
* Acid has hit the player, attempt to affect some armor.
-* @return è£\85å\82\99ã\81\8cé\85¸ã\82\92æµ´ã\81³たならTRUEを返す
+* @return è£\85å\82\99ã\81«ã\82\88ã\82\8b軽æ¸\9bã\81\8cã\81\82ã\81£たならTRUEを返す
* @details
* Note that the "base armor" of an object never changes.
* If any armor is damaged (or resists), the player takes less damage.
*/
-static bool minus_ac(void)
+static bool acid_minus_ac(void)
{
object_type *o_ptr = NULL;
BIT_FLAGS flgs[TR_FLAG_SIZE];
case 7: o_ptr = &inventory[INVEN_FEET]; break;
}
- /* Nothing to damage */
if (!o_ptr->k_idx) return (FALSE);
-
if (!object_is_armour(o_ptr)) return (FALSE);
- /* No damage left to be done */
- if (o_ptr->ac + o_ptr->to_a <= 0) return (FALSE);
object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
object_flags(o_ptr, flgs);
+ /* No damage left to be done */
+ if (o_ptr->ac + o_ptr->to_a <= 0)
+ {
+ msg_format(_("%sは既にボロボロだ!", "Your %s is already crumble!"), o_name);
+ return (FALSE);
+ }
/* Object resists */
if (have_flag(flgs, TR_IGNORE_ACID))
return (TRUE);
}
- msg_format(_("%sがダメージを受けた!", "Your %s is damaged!"), o_name);
+ msg_format(_("%sが酸で腐食した!", "Your %s is corroded!"), o_name);
/* Damage the item */
o_ptr->to_a--;
* @param aura オーラよるダメージが原因ならばTRUE
* @return 修正HPダメージ量
*/
-HIT_POINT acid_dam(HIT_POINT dam, cptr kb_str, int monspell, bool aura)
+HIT_POINT acid_dam(HIT_POINT dam, concptr kb_str, int monspell, bool aura)
{
HIT_POINT get_damage;
int inv = (dam < 30) ? 1 : (dam < 60) ? 2 : 3;
(void)do_dec_stat(A_CHR);
/* If any armor gets hit, defend the player */
- if (minus_ac()) dam = (dam + 1) / 2;
+ if (acid_minus_ac()) dam = (dam + 1) / 2;
}
get_damage = take_hit(aura ? DAMAGE_NOESCAPE : DAMAGE_ATTACK, dam, kb_str, monspell);
* @param aura オーラよるダメージが原因ならばTRUE
* @return 修正HPダメージ量
*/
-HIT_POINT elec_dam(HIT_POINT dam, cptr kb_str, int monspell, bool aura)
+HIT_POINT elec_dam(HIT_POINT dam, concptr kb_str, int monspell, bool aura)
{
HIT_POINT get_damage;
int inv = (dam < 30) ? 1 : (dam < 60) ? 2 : 3;
* @param aura オーラよるダメージが原因ならばTRUE
* @return 修正HPダメージ量
*/
-HIT_POINT fire_dam(HIT_POINT dam, cptr kb_str, int monspell, bool aura)
+HIT_POINT fire_dam(HIT_POINT dam, concptr kb_str, int monspell, bool aura)
{
HIT_POINT get_damage;
int inv = (dam < 30) ? 1 : (dam < 60) ? 2 : 3;
* @param aura オーラよるダメージが原因ならばTRUE
* @return 修正HPダメージ量
*/
-HIT_POINT cold_dam(HIT_POINT dam, cptr kb_str, int monspell, bool aura)
+HIT_POINT cold_dam(HIT_POINT dam, concptr kb_str, int monspell, bool aura)
{
HIT_POINT get_damage;
int inv = (dam < 30) ? 1 : (dam < 60) ? 2 : 3;