#include <sys/types.h> #include <stdio.h> #include <string.h> #include <time.h> #include "merc.h" void do_shield( CHAR_DATA *ch, char *argument ) { char arg [MAX_INPUT_LENGTH]; argument = one_argument( argument, arg ); if (IS_NPC(ch)) return; if (!IS_SPHERE(ch, SPHERE_ABJURER)) { send_to_char("#0Shield is an Abjurer ability.#n\n\r",ch); return; } if (!IS_IMMUNE(ch,IMM_SHIELDED) ) { send_to_char("You shield your aura from those around you.\n\r",ch); SET_BIT(ch->immune, IMM_SHIELDED); return; } send_to_char("You stop shielding your aura.\n\r",ch); REMOVE_BIT(ch->immune, IMM_SHIELDED); return; } void do_holyaura(CHAR_DATA * ch, char *argument) { CHAR_DATA *victim; char arg[MAX_INPUT_LENGTH]; int sn, level; int mcost; argument = one_argument(argument, arg); mcost = number_range(2000, 3000); if (!IS_SPHERE(ch, SPHERE_ABJURER)) { send_to_char("#0Holy Aura is an Abjurer ability.#n\n\r",ch); return; } if (ch->mana < mcost) { send_to_char("You don't have enough mana for that!\n\r", ch); return; } if ((sn = skill_lookup("holy aura")) < 0) return; if (arg[0] == '\0') { send_to_char("Cast Holy Aura on whom?\n\r", ch); return; } if ((victim = get_char_room(ch, arg)) == NULL) { send_to_char("They are not here.\n\r", ch); return; } if (is_affected(victim, skill_lookup("holy aura"))) { stc("They're already affected by holy aura!\n\r", ch); return; } stc("You cast Holy Aura on them!\n\r", ch); act("$n starts glowing bright #wwhite#n.", ch, NULL, NULL, TO_ROOM); level = 50; (*skill_table[sn].spell_fun) (sn, level, victim, victim); WAIT_STATE(ch, 12); ch->mana -= mcost; return; } void do_dimedodge( CHAR_DATA *ch, char *argument ) { if (IS_NPC(ch)) return; if (!IS_SPHERE(ch, SPHERE_ABJURER)) { send_to_char("#0Dimension Dodge is an Abjurer ability.#n\n\r",ch); return; } if (IS_SET(ch->pcdata->powers[WRAITH_POWERS], WRAITH_DIMEDODGE)) { REMOVE_BIT(ch->pcdata->powers[WRAITH_POWERS], WRAITH_DIMEDODGE); act( "$n loses his superior dodging",ch,NULL,NULL,TO_ROOM); send_to_char("Your dodging goes back to normal.\n\r",ch); return; } SET_BIT(ch->pcdata->powers[WRAITH_POWERS], WRAITH_DIMEDODGE); act( "$n gains superior dodging..",ch,NULL,NULL,TO_ROOM); send_to_char("You now can jump dimensions to dodge attacks.\n\r",ch); return; }