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;
}
Exemple #2
0
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;
    }
}