1 #include "blue-magic/blue-magic-util.h"
2 #include "monster-floor/place-monster-types.h"
4 bmc_type *initialize_blue_magic_type(
5 player_type *caster_ptr, bmc_type *bmc_ptr, const bool success, get_pseudo_monstetr_level_pf get_pseudo_monstetr_level)
7 bmc_ptr->plev = (*get_pseudo_monstetr_level)(caster_ptr);
8 bmc_ptr->summon_lev = caster_ptr->lev * 2 / 3 + randint1(caster_ptr->lev / 2);
10 bmc_ptr->pet = success; // read-only.
11 bmc_ptr->no_trump = FALSE;
12 bmc_ptr->p_mode = bmc_ptr->pet ? PM_FORCE_PET : PM_NO_PET;
14 bmc_ptr->g_mode = bmc_ptr->pet ? 0 : PM_ALLOW_GROUP;
15 if (!success || (randint1(50 + bmc_ptr->plev) < bmc_ptr->plev / 10))
16 bmc_ptr->u_mode = PM_ALLOW_UNIQUE;