… | |
… | |
73 | if (!(random_roll (0, 3, op, PREFER_HIGH))) |
73 | if (!(random_roll (0, 3, op, PREFER_HIGH))) |
74 | { |
74 | { |
75 | op->failmsgf ("The %s vibrates violently, then explodes!", query_name (wand)); |
75 | op->failmsgf ("The %s vibrates violently, then explodes!", query_name (wand)); |
76 | op->play_sound (sound_find ("ob_explode")); |
76 | op->play_sound (sound_find ("ob_explode")); |
77 | wand->destroy (); |
77 | wand->destroy (); |
78 | object *tmp = get_archetype (shstr_fireball); |
78 | object *tmp = archetype::get (shstr_fireball); |
79 | tmp->stats.dam = (spell_ob->stats.dam + SP_level_dam_adjust (caster, spell_ob)) / 10; |
79 | tmp->stats.dam = (spell_ob->stats.dam + SP_level_dam_adjust (caster, spell_ob)) / 10; |
80 | |
80 | |
81 | if (!tmp->stats.dam) |
81 | if (!tmp->stats.dam) |
82 | tmp->stats.dam = 1; |
82 | tmp->stats.dam = 1; |
83 | |
83 | |
… | |
… | |
485 | { |
485 | { |
486 | new_draw_info (NDI_UNIQUE, 0, op, "You feel a force starting to build up inside you."); |
486 | new_draw_info (NDI_UNIQUE, 0, op, "You feel a force starting to build up inside you."); |
487 | return 1; |
487 | return 1; |
488 | } |
488 | } |
489 | |
489 | |
490 | object *dummy = get_archetype (FORCE_NAME); |
490 | object *dummy = archetype::get (FORCE_NAME); |
491 | |
491 | |
492 | int time = max (1, spell_ob->duration - SP_level_duration_adjust (caster, spell_ob)); |
492 | int time = max (1, spell_ob->duration - SP_level_duration_adjust (caster, spell_ob)); |
493 | |
493 | |
494 | /* value of speed really doesn't make much difference, as long as it is |
494 | /* value of speed really doesn't make much difference, as long as it is |
495 | * positive. Lower value may be useful so that the problem doesn't |
495 | * positive. Lower value may be useful so that the problem doesn't |
… | |
… | |
1072 | |
1072 | |
1073 | new_draw_info_format (NDI_UNIQUE, 0, op, |
1073 | new_draw_info_format (NDI_UNIQUE, 0, op, |
1074 | "You create an aura of magical force. H<The effect will last for about %.10g seconds.>", |
1074 | "You create an aura of magical force. H<The effect will last for about %.10g seconds.>", |
1075 | TICK2TIME (duration)); |
1075 | TICK2TIME (duration)); |
1076 | |
1076 | |
1077 | force = get_archetype (FORCE_NAME); |
1077 | force = archetype::get (FORCE_NAME); |
1078 | force->subtype = FORCE_CHANGE_ABILITY; |
1078 | force->subtype = FORCE_CHANGE_ABILITY; |
1079 | force->duration = duration; |
1079 | force->duration = duration; |
1080 | |
1080 | |
1081 | if (spell_ob->race) |
1081 | if (spell_ob->race) |
1082 | force->name = spell_ob->race; |
1082 | force->name = spell_ob->race; |
… | |
… | |
1186 | } |
1186 | } |
1187 | } |
1187 | } |
1188 | |
1188 | |
1189 | if (force == NULL) |
1189 | if (force == NULL) |
1190 | { |
1190 | { |
1191 | force = get_archetype (FORCE_NAME); |
1191 | force = archetype::get (FORCE_NAME); |
1192 | force->subtype = FORCE_CHANGE_ABILITY; |
1192 | force->subtype = FORCE_CHANGE_ABILITY; |
1193 | if (spell_ob->race) |
1193 | if (spell_ob->race) |
1194 | force->name = spell_ob->race; |
1194 | force->name = spell_ob->race; |
1195 | else |
1195 | else |
1196 | force->name = spell_ob->name; |
1196 | force->name = spell_ob->name; |