static void _calc_bonuses(void) { if (equip_find_artifact(ART_YATA)) { p_ptr->dec_mana = TRUE; p_ptr->easy_spell = TRUE; } if (equip_find_artifact(ART_GIL_GALAD)) p_ptr->dec_mana = TRUE; if (p_ptr->lev >= 40) p_ptr->reflect = TRUE; }
static void _balrog_calc_bonuses(void) { p_ptr->align -= 200; res_add(RES_FIRE); res_add(RES_NETHER); p_ptr->hold_life = TRUE; p_ptr->no_eldritch = TRUE; p_ptr->pspeed += p_ptr->lev/8; /* Angels get +7 speed. Demons get +6 speed. */ p_ptr->sh_fire = TRUE; if (equip_find_artifact(ART_STONE_OF_DAEMON)) { p_ptr->dec_mana = TRUE; p_ptr->easy_spell = TRUE; } if (p_ptr->lev >= 10) p_ptr->see_inv = TRUE; if (p_ptr->lev >= 30) { res_add(RES_FIRE); res_add(RES_CHAOS); } if (p_ptr->lev >= 40) { res_add_immune(RES_FIRE); res_add(RES_NETHER); p_ptr->kill_wall = TRUE; p_ptr->no_charge_drain = TRUE; } }
static void _calc_bonuses(void) { /* cf calc_torch in xtra1.c for the 'extra light' */ p_ptr->align += 200; p_ptr->levitation = TRUE; res_add(RES_POIS); if (equip_find_artifact(ART_STONE_OF_LIFE) || equip_find_artifact(ART_STONE_OF_CRUSADE)) { p_ptr->dec_mana = TRUE; p_ptr->easy_spell = TRUE; } if (p_ptr->lev >= 10) { res_add(RES_FIRE); p_ptr->see_inv = TRUE; } if (p_ptr->lev >= 20) { p_ptr->pspeed += 1; res_add(RES_COLD); } if (p_ptr->lev >= 30) { p_ptr->pspeed += 1; res_add(RES_ACID); res_add(RES_ELEC); res_add(RES_CONF); } if (p_ptr->lev >= 40) { p_ptr->pspeed += 3; p_ptr->reflect = TRUE; res_add(RES_TELEPORT); res_add(RES_LITE); } if (p_ptr->lev >= 45) { p_ptr->pspeed += 1; } if (p_ptr->lev >= 50) { p_ptr->pspeed += 1; } }
static void _calc_bonuses(void) { p_ptr->align -= 200; res_add(RES_DARK); res_add(RES_NETHER); res_add(RES_COLD); res_add(RES_POIS); res_add_vuln(RES_LITE); p_ptr->hold_life = TRUE; p_ptr->see_nocto = TRUE; if (equip_find_artifact(ART_NIGHT)) { p_ptr->dec_mana = TRUE; p_ptr->easy_spell = TRUE; } if (p_ptr->lev >= 35) { res_add(RES_DARK); p_ptr->levitation = TRUE; p_ptr->pspeed += 1; p_ptr->regenerate = TRUE; } if (p_ptr->lev >= 45) { res_add_immune(RES_DARK); p_ptr->pspeed += 2; } if (_light_penalty) { p_ptr->to_a -= 5*_light_penalty; p_ptr->dis_to_a -= 5*_light_penalty; p_ptr->life -= 3*_light_penalty; } }