--- deliantra/server/common/living.C 2008/05/02 20:24:48 1.84 +++ deliantra/server/common/living.C 2008/07/15 20:41:58 1.88 @@ -402,7 +402,7 @@ */ if (tmp->move_type & MOVE_FLY_LOW && !(op->move_type & MOVE_FLY_HIGH)) { - DIFF_MSG (flag, "You start to float in the air!.", "You float down to the ground."); + DIFF_MSG (flag, "You start to float in the air!", "You float down to the ground."); } if (tmp->move_type & MOVE_FLY_HIGH) @@ -863,8 +863,7 @@ /* See note in map.c:update_position about making this additive * since light sources are never applied, need to put check here. */ - if (tmp->glow_radius > glow_radius) - glow_radius = tmp->glow_radius; + glow_radius = max (glow_radius, tmp->glow_radius); /* For some things, we don't care what is equipped */ if (tmp->type == SKILL) @@ -887,7 +886,7 @@ } } - /* Container objects are not meant to adjust a players, but other applied + /* Container objects are not meant to adjust players, but other applied * objects need to make adjustments. * This block should handle all player specific changes * The check for Praying is a bit of a hack - god given bonuses are put @@ -920,7 +919,8 @@ { contr->digestion += tmp->stats.food; contr->gen_hp += tmp->stats.hp; - contr->gen_sp += tmp->stats.sp; + if (tmp->type != BOW) // ugly exception for bows + contr->gen_sp += tmp->stats.sp; contr->gen_grace += tmp->stats.grace; contr->gen_sp_armour += tmp->gen_sp_armour; } @@ -940,7 +940,7 @@ speed_reduce_from_disease = min (speed_reduce_from_disease, tmp->last_sp ? tmp->last_sp / 100.f : 1.f); - /* Pos. and neg. protections are counted seperate (-> pro/vuln). + /* Pos. and neg. protections are counted separate (-> pro/vuln). * (Negative protections are calculated exactly like positive.) * Resistance from potions are treated special as well. If there's * more than one potion-effect, the bigger prot.-value is taken. @@ -1444,11 +1444,6 @@ * set the new dragon name after gaining levels or * changing ability focus (later this can be extended to * eventually change the player's face and animation) - * - * Note that the title is written to 'own_title' in the - * player struct. This should be changed to 'ext_title' - * as soon as clients support this! - * Please, anyone, write support for 'ext_title'. */ void set_dragon_name (object *pl, const object *abil, const object *skin) @@ -1476,29 +1471,17 @@ if (atnr_is_dragon_enabled (abil->stats.exp) && abil->resist[abil->stats.exp] >= level) atnr = abil->stats.exp; - level = (int) (level / 25.); - /* now set the new title */ - if (pl->contr) + if (level < 25) sprintf (pl->contr->title, "%s hatchling", attacks[atnr]); + else if (level < 50) sprintf (pl->contr->title, "%s wyrm" , attacks[atnr]); + else if (level < 75) sprintf (pl->contr->title, "%s wyvern" , attacks[atnr]); + else if (level < 100) sprintf (pl->contr->title, "%s dragon" , attacks[atnr]); + else { - if (level == 0) - sprintf (pl->contr->title, "%s hatchling", attacks[atnr]); - else if (level == 1) - sprintf (pl->contr->title, "%s wyrm", attacks[atnr]); - else if (level == 2) - sprintf (pl->contr->title, "%s wyvern", attacks[atnr]); - else if (level == 3) - sprintf (pl->contr->title, "%s dragon", attacks[atnr]); - else - { - /* special titles for extra high resistance! */ - if (skin->resist[atnr] > 80) - sprintf (pl->contr->title, "legendary %s dragon", attacks[atnr]); - else if (skin->resist[atnr] > 50) - sprintf (pl->contr->title, "ancient %s dragon", attacks[atnr]); - else - sprintf (pl->contr->title, "big %s dragon", attacks[atnr]); - } + /* special titles for extra high resistance! */ + if (skin->resist[atnr] > 80) sprintf (pl->contr->title, "legendary %s dragon", attacks[atnr]); + else if (skin->resist[atnr] > 50) sprintf (pl->contr->title, "ancient %s dragon" , attacks[atnr]); + else sprintf (pl->contr->title, "big %s dragon" , attacks[atnr]); } strcpy (pl->contr->own_title, "");