… | |
… | |
23 | */ |
23 | */ |
24 | |
24 | |
25 | #include <global.h> |
25 | #include <global.h> |
26 | #include <object.h> |
26 | #include <object.h> |
27 | #include <living.h> |
27 | #include <living.h> |
28 | #ifndef __CEXTRACT__ |
|
|
29 | # include <sproto.h> |
28 | #include <sproto.h> |
30 | #endif |
|
|
31 | #include <spells.h> |
29 | #include <spells.h> |
32 | #include <sounds.h> |
30 | #include <sounds.h> |
33 | |
31 | |
34 | /* cast_magic_storm: This is really used mostly for spell |
32 | /* cast_magic_storm: This is really used mostly for spell |
35 | * fumbles at the like. tmp is the object to propogate. |
33 | * fumbles at the like. tmp is the object to propogate. |
… | |
… | |
607 | for (tmp = op->inv; tmp != NULL; tmp = tmp->below) |
605 | for (tmp = op->inv; tmp != NULL; tmp = tmp->below) |
608 | { |
606 | { |
609 | if (tmp->type == FORCE && !strcmp (tmp->arch->name, "dragon_ability_force")) |
607 | if (tmp->type == FORCE && !strcmp (tmp->arch->name, "dragon_ability_force")) |
610 | { |
608 | { |
611 | if (tmp->stats.exp == 0) |
609 | if (tmp->stats.exp == 0) |
612 | { |
|
|
613 | sprintf (buf, "Your metabolism isn't focused on anything."); |
610 | sprintf (buf, "Your metabolism isn't focused on anything."); |
614 | } |
|
|
615 | else |
611 | else |
616 | { |
|
|
617 | sprintf (buf, "Your metabolism is focused on %s.", change_resist_msg[tmp->stats.exp]); |
612 | sprintf (buf, "Your metabolism is focused on %s.", change_resist_msg[tmp->stats.exp]); |
618 | } |
613 | |
619 | new_draw_info (NDI_UNIQUE, 0, op, buf); |
614 | new_draw_info (NDI_UNIQUE, 0, op, buf); |
620 | break; |
615 | break; |
621 | } |
616 | } |
622 | } |
617 | } |
623 | } |
618 | } |
|
|
619 | |
624 | return 1; |
620 | return 1; |
625 | } |
621 | } |
626 | |
622 | |
627 | /* int cast_create_town_portal (object *op, object *caster, int dir) |
623 | /* int cast_create_town_portal (object *op, object *caster, int dir) |
628 | * |
624 | * |