Bow Sentinel Calculations

2018-02-17 22:26:24 - [Reply]
Radyth

Admin
220 Posts
int calc_arrow_dam (CHAR_DATA *ch, OBJ_DATA *bow, int arrow, int power)
{{
    int stat = 0;

    stat += get_curr_dex(ch) / 4;
    if (arrow == FIRE_ARROW)    stat += get_curr_int(ch) / 3;
    else                                stat += get_curr_agi(ch) / 4;
    stat += get_curr_str(ch) / 2;
    stat += GET_HITROLL(ch) / 10;

    if (arrow == STUN_ARROW)    power /= 10;
    if (arrow == MITH_ARROW)    power *= 1.5;
    if (arrow == POIS_ARROW)    power *= 1.25;
    if (ch->powers[PATH] == BOW)        power *= 1.25;

    return calc_damage(stat, power, bow, NULL);
}

bool check_arrow_hit (CHAR_DATA *ch)
{{
    int chance = 40;

    chance += get_curr_dex(ch) / 150;
    chance += GET_HITROLL(ch) / 150;
    chance += ch->powers[BOW] * 2;

    if (chance > 90) chance = 90;

    printf_to_char(ch, '%d%% chance to hit..\n\r', chance);

    if (number_percent() <= chance)
        return TRUE;
    else        return FALSE;
}
2018-02-17 22:34:39 - [Reply]
  
Radyth

Admin
220 Posts
Wow that sucks to read on the website lol. Looks okay in game. Posted this due to popular request.

Back to Forums