2 * @file blue-magic-spirit-curse.cpp
6 #include "blue-magic/blue-magic-spirit-curse.h"
7 #include "blue-magic/blue-magic-util.h"
8 #include "effect/attribute-types.h"
9 #include "monster-race/race-ability-flags.h"
10 #include "mspell/mspell-damage-calculator.h"
11 #include "spell-kind/spells-launcher.h"
12 #include "system/player-type-definition.h"
13 #include "target/target-getter.h"
14 #include "view/display-messages.h"
16 bool cast_blue_drain_mana(PlayerType *player_ptr, bmc_type *bmc_ptr)
18 if (!get_aim_dir(player_ptr, &bmc_ptr->dir)) {
22 bmc_ptr->damage = monspell_bluemage_damage(player_ptr, MonsterAbilityType::DRAIN_MANA, bmc_ptr->plev, DAM_ROLL);
23 fire_ball_hide(player_ptr, AttributeType::DRAIN_MANA, bmc_ptr->dir, bmc_ptr->damage, 0);
27 bool cast_blue_mind_blast(PlayerType *player_ptr, bmc_type *bmc_ptr)
29 if (!get_aim_dir(player_ptr, &bmc_ptr->dir)) {
33 bmc_ptr->damage = monspell_bluemage_damage(player_ptr, MonsterAbilityType::MIND_BLAST, bmc_ptr->plev, DAM_ROLL);
34 fire_ball_hide(player_ptr, AttributeType::MIND_BLAST, bmc_ptr->dir, bmc_ptr->damage, 0);
38 bool cast_blue_brain_smash(PlayerType *player_ptr, bmc_type *bmc_ptr)
40 if (!get_aim_dir(player_ptr, &bmc_ptr->dir)) {
44 bmc_ptr->damage = monspell_bluemage_damage(player_ptr, MonsterAbilityType::BRAIN_SMASH, bmc_ptr->plev, DAM_ROLL);
45 fire_ball_hide(player_ptr, AttributeType::BRAIN_SMASH, bmc_ptr->dir, bmc_ptr->damage, 0);
49 bool cast_blue_curse_1(PlayerType *player_ptr, bmc_type *bmc_ptr)
51 if (!get_aim_dir(player_ptr, &bmc_ptr->dir)) {
55 bmc_ptr->damage = monspell_bluemage_damage(player_ptr, MonsterAbilityType::CAUSE_1, bmc_ptr->plev, DAM_ROLL);
56 fire_ball_hide(player_ptr, AttributeType::CAUSE_1, bmc_ptr->dir, bmc_ptr->damage, 0);
60 bool cast_blue_curse_2(PlayerType *player_ptr, bmc_type *bmc_ptr)
62 if (!get_aim_dir(player_ptr, &bmc_ptr->dir)) {
66 bmc_ptr->damage = monspell_bluemage_damage(player_ptr, MonsterAbilityType::CAUSE_2, bmc_ptr->plev, DAM_ROLL);
67 fire_ball_hide(player_ptr, AttributeType::CAUSE_2, bmc_ptr->dir, bmc_ptr->damage, 0);
71 bool cast_blue_curse_3(PlayerType *player_ptr, bmc_type *bmc_ptr)
73 if (!get_aim_dir(player_ptr, &bmc_ptr->dir)) {
77 bmc_ptr->damage = monspell_bluemage_damage(player_ptr, MonsterAbilityType::CAUSE_3, bmc_ptr->plev, DAM_ROLL);
78 fire_ball_hide(player_ptr, AttributeType::CAUSE_3, bmc_ptr->dir, bmc_ptr->damage, 0);
82 bool cast_blue_curse_4(PlayerType *player_ptr, bmc_type *bmc_ptr)
84 if (!get_aim_dir(player_ptr, &bmc_ptr->dir)) {
88 bmc_ptr->damage = monspell_bluemage_damage(player_ptr, MonsterAbilityType::CAUSE_4, bmc_ptr->plev, DAM_ROLL);
89 fire_ball_hide(player_ptr, AttributeType::CAUSE_4, bmc_ptr->dir, bmc_ptr->damage, 0);