void stunning_blow_spell(int cmd, variant *res) { switch (cmd) { case SPELL_NAME: var_set_string(res, "Stunning Blow"); break; case SPELL_DESC: var_set_string(res, "Attack an adjacent opponent with a single blow aimed to stun."); break; case SPELL_CAST: var_set_bool(res, do_blow(MAULER_STUNNING_BLOW)); break; case SPELL_ON_BROWSE: { bool screen_hack = screen_is_saved(); if (screen_hack) screen_load(); display_weapon_mode = MAULER_STUNNING_BLOW; do_cmd_knowledge_weapon(); display_weapon_mode = 0; if (screen_hack) screen_save(); var_set_bool(res, TRUE); break; } default: default_spell(cmd, res); break; } }
static void _critical_blow_spell(int cmd, variant *res) { switch (cmd) { case SPELL_NAME: var_set_string(res, "Critical Blow"); break; case SPELL_DESC: var_set_string(res, "Attack an adjacent opponent with a single devastating blow."); break; case SPELL_CAST: var_set_bool(res, do_blow(MAULER_CRITICAL_BLOW)); break; case SPELL_ON_BROWSE: { bool screen_hack = screen_is_saved(); if (screen_hack) screen_load(); display_weapon_mode = MAULER_CRITICAL_BLOW; do_cmd_knowledge_weapon(); display_weapon_mode = 0; if (screen_hack) screen_save(); var_set_bool(res, TRUE); break; } default: default_spell(cmd, res); break; } }
static void _knockback_spell(int cmd, variant *res) { switch (cmd) { case SPELL_NAME: var_set_string(res, "Knockback"); break; case SPELL_DESC: var_set_string(res, "Attack an adjacent opponent with a single blow. If landed, your foe will be knocked back away from you."); break; case SPELL_CAST: var_set_bool(res, do_blow(MAULER_KNOCKBACK)); break; case SPELL_ON_BROWSE: { bool screen_hack = screen_is_saved(); if (screen_hack) screen_load(); display_weapon_mode = MAULER_KNOCKBACK; do_cmd_knowledge_weapon(); display_weapon_mode = 0; if (screen_hack) screen_save(); var_set_bool(res, TRUE); break; } default: default_spell(cmd, res); break; } }
static void _on_browse(int which) { bool screen_hack = screen_is_saved(); if (screen_hack) screen_load(); display_weapon_mode = which; do_cmd_knowledge_weapon(); display_weapon_mode = 0; if (screen_hack) screen_save(); }